使用elasticsearch-py,我想删除特定索引中的所有文档,而不删除索引。鉴于delete_by_query
被转移到一个单独的插件,我想知道最好的方法是什么?
答案 0 :(得分:2)
通过查询删除删除所有文档非常低效。更直接和正确的行动是:
DELETE /indexname
这需要一秒钟,前者需要花费更多时间和不必要的磁盘I / O
答案 1 :(得分:0)
使用Scroll / Scan API调用收集所有文档ID,然后对这些ID调用批量删除。这是基于the official documentation的“按查询删除API”的推荐替代品。
编辑:在elasticsearch-py中专门使用此信息的请求信息。以下是helpers的文档。使用扫描帮助程序扫描所有文档。使用批量助手和删除操作删除所有ID。