【发布时间】:2016-09-08 18:31:50
【问题描述】:
我正在使用delete by query 插件进行弹性搜索。
我有一个索引products 和一个整数字段size。我想删除所有大小为 10 的文档。我有超过 5000 个大小为 10 的文档。如果我尝试:
DELETE /products/product/_query?q=size:10
此查询需要 2 分钟以上。
我理解是因为delete by query 插件很慢,来自documentation:
在内部,它使用 Scroll 和 Bulk API 来删除 高效且安全的方式。速度较慢 [..] 匹配大量文档的查询可能会运行很长时间,因为必须单独删除每个文档。
我如何执行最快的文件批量删除?
【问题讨论】:
-
你不能。这是在最新版本的 Elasticsearch 中唯一支持的删除文档的方式。 Elasticsearch 1.x 删除速度更快(但可能以不安全的方式)。所以如果它真的值那么多钱,你可以回到旧版本的 Elasticsearch。
-
好的,谢谢!我认为这是问题的答案,而不是评论......
-
作为答案发布。
标签: elasticsearch