从elastic get api获取顶部xyz

moiiocjp  于 2021-06-15  发布在  ElasticSearch
关注(0)|答案(1)|浏览(475)

我需要从弹性索引中删除文档。我试过跟踪,但由于文档的大小,它会超时。

  1. POST my-index-000001/_delete_by_query?conflicts=proceed
  2. {
  3. "query": {
  4. "match_all": {}
  5. }
  6. }

因此,我想获得5000强的记录 ids 并发送批量删除查询。有人能帮我从ElasticAPI获取5000个顶级ID吗(不需要检索整个文档对象)?或者有没有其他方法来处理这种情况?

yacmzcpb

yacmzcpb1#

尝试添加 wait_for_completion=false 从这里开始

  1. POST my-index-000001/_delete_by_query?conflicts=proceed&wait_for_completion=false
  2. {
  3. "query": {
  4. "match_all": {}
  5. }
  6. }

如果请求包含wait_for_completion=false,elasticsearch将执行一些飞行前检查,启动请求,并返回一个任务,您可以使用该任务取消或获取该任务的状态。elasticsearch在.tasks/task/${taskid}处以文档形式创建此任务的记录。完成任务后,应删除任务文档,以便elasticsearch可以回收空间。
GET /_tasks/your-task-id 查看其状态

相关问题