POST /索引名/_delete_by_query?conflicts=proceed&scroll_size=2000&wait_for_completion=false&slices=36
{"size": 2000, "query": {"bool": { "must": [{"terms": {"rule_id": [800007]}}]}}
}
slices=36 一共的副本数量 主和副本总数。
scroll_size=2000 分批的数量。
conflicts=proceed 遇到版本冲突继续,
如果通过查询删除遇到版本冲突,将如何处理:终止或继续。默认为终止
wait_for_completion=false 放后台执行
通过调整这个两个参数控制性能和es压力
slices
scroll_size
查看后台任务id
GET _tasks?detailed=true&actions=*/delete/byquery&pretty
取消任务
POST /_tasks/ZGPDvWcgRXyuoWeiPFupcQ:23507301/_cancel
理论上删除数据以后后台会自动merge ,不用执行下面命令。
POST /index_name/_forcemerge?only_expunge_deletes=true
参考:
https://elasticsearch.bookhub.tech/rest_apis/document_apis/delete_by_query
https://www.elastic.org.cn/docs/8.1/www.elastic.co/guide/en/elasticsearch/reference/current/docs-delete-by-query.html