如何一次删除多条记录?是否有可能选择所有,说“产品”post_type,并删除它或它必须是一个接一个? (我不是要清除所有记录)
答案 0 :(得分:3)
Algolia的仪表板并非设计为API之上的完整图形界面,它主要是为了方便,理解和测试目的,而不是完整的数据管理。
一旦你开始受到仪表板的限制,你应该写一个小脚本来实现你想要做的事情。
幸运的是,它的设计尽可能简单 使用PHP,它的外观如下:
首先,让我们创建一个小文件夹来保存脚本。
mkdir /tmp/clear-algolia && cd /tmp/clear-algolia
如果您还没有composer
,只需启动commands described here即可将其安装在当前文件夹中。
如果您刚刚安装了它,并且只想在本次会话中使用它:
alias composer=php composer.phar
然后使用composer
安装Algolia:
composer require algolia/algoliasearch-client-php
沿着这些方向写一个小脚本:
<?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' ]);
?>
然后运行它:
php removeSpecific.php
你很高兴去!下次要对索引执行操作时,您只需更改脚本的最后一行即可实现所需。