Elasticsearch:通过查询删除对很多要删除的文件来说确实很慢

时间:2016-09-08 07:18:34

标签: elasticsearch

我使用delete by query插件进行弹性搜索。

我有一个带有整数字段products的索引size。我想要删除所有大小为10的文档。我有超过5000个大小为10的文档。如果我尝试:

DELETE /products/product/_query?q=size:10

此查询需要2分钟以上。

我理解,因为delete by query插件很慢,来自documentation

  

在内部,它使用Scroll和Bulk API来删除文档   高效安全的方式。它比较慢[..]与大量文档匹配的查询可能会运行很长时间,因为每个文档都必须单独删除。

如何执行最快的文档批量删除?

1 个答案:

答案 0 :(得分:3)

你做不到。这是在最新版本的Elasticsearch中删除文档的唯一受支持方式。 Elasticsearch 1.x删除速度更快(但可能以不安全的方式)。因此,如果确实非常值得,您可以回到旧版本的Elasticsearch。