我使用delete by query插件进行弹性搜索。
我有一个带有整数字段products
的索引size
。我想要删除所有大小为10的文档。我有超过5000个大小为10的文档。如果我尝试:
DELETE /products/product/_query?q=size:10
此查询需要2分钟以上。
我理解,因为delete by query
插件很慢,来自documentation:
在内部,它使用Scroll和Bulk API来删除文档 高效安全的方式。它比较慢[..]与大量文档匹配的查询可能会运行很长时间,因为每个文档都必须单独删除。
如何执行最快的文档批量删除?
答案 0 :(得分:3)
你做不到。这是在最新版本的Elasticsearch中删除文档的唯一受支持方式。 Elasticsearch 1.x删除速度更快(但可能以不安全的方式)。因此,如果确实非常值得,您可以回到旧版本的Elasticsearch。