Algolia:从仪表板中删除多条记录

Fil*_*mit 8 algolia

如何一次删除多条记录?是否可以选择全部,例如“产品”post_type,然后将其删除,或者必须一一删除?(我并不是想清除所有记录)

Jer*_*ska 4

Algolia 的仪表板并不是设计为 API 之上的完整图形界面,它主要是为了方便、理解和测试目的,而不是完整的数据管理。

一旦您开始受到仪表板的限制,您可能应该编写一个小脚本来实现您想要做的事情。

幸运的是,它被设计得尽可能简单。
如果使用 PHP,它会是这样的:


首先,让我们创建一个小文件夹来保存脚本。

mkdir /tmp/clear-algolia && cd /tmp/clear-algolia
Run Code Online (Sandbox Code Playgroud)

如果您还没有,您可以通过启动此处描述的命令composer将其简单地安装在当前文件夹中。 如果您刚刚安装它并且只想在本次会话中使用它:

alias composer=php composer.phar
Run Code Online (Sandbox Code Playgroud)

然后使用以下命令安装 Algolia composer

composer require algolia/algoliasearch-client-php
Run Code Online (Sandbox Code Playgroud)

按照这些思路写一个小脚本:

<?php
// removeSpecific.php

require __DIR__ . '/vendor/autoload.php';

$client = new \AlgoliaSearch\Client("YOUR_APP_ID", "YOUR_ADMIN_API_KEY");
$index = $client->initIndex('YOUR_INDEX');
$index->deleteByQuery('', [ 'filters' => 'post_type:products' ]);

?>
Run Code Online (Sandbox Code Playgroud)

然后运行它:

php removeSpecific.php
Run Code Online (Sandbox Code Playgroud)

你就可以出发了!下次您想要对索引执行操作时,只需更改脚本的最后一行即可实现您想要的效果。