是否有任何方法让algolia api通过objectID获取记录并更新该记录



嘿,我只是想问一下Algolia API(搜索引擎),一旦我将记录存储到索引中,那么我如何更新

// composer autoload
require __DIR__ . '/vendor/autoload.php';
// if you are not using composer
// require_once 'path/to/algolia/folder/autoload.php';
$client = AlgoliaAlgoliaSearchSearchClient::create(
'myapplicationid',
'myadminid'
);
$index = $client->initIndex('testing');
$servername = "localhost";
$username = "root";
$password = "";
try {
$conn = new PDO("mysql:host=$servername;dbname=test", $username, $password);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
echo "Connection failed: " . $e->getMessage();
}
$users = $conn->query("SELECT * FROM users");
$objects = [];
foreach ($users as $user) {
$objects[] = [
'objectID' => $user['user_id'],
'user_id' => $user['user_id'],
'first_name' => $user['user_first_name'],
'last_name' => $user['user_last_name'],
'contact_number' => $user['user_contact'],
];
}
$index->saveObjects($objects);

当我循环记录时,我如何添加条件以通过objecd从algolia获取记录,如果记录存在则更新,否则将记录添加到algolia

使用partialUpdateObjects并设置'createIfNotExists' =>真正的Doc在这里,https://www.algolia.com/doc/api-reference/api-methods/partial-update-objects/

最新更新