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

时间:2016-08-18 22:20:31

标签: algolia

如何一次删除多条记录?是否有可能选择所有,说“产品”post_type,并删除它或它必须是一个接一个? (我不是要清除所有记录)

1 个答案:

答案 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

你很高兴去!下次要对索引执行操作时,您只需更改脚本的最后一行即可实现所需。