从elastic get api获取顶部xyz

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

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

POST my-index-000001/_delete_by_query?conflicts=proceed
{
  "query": {
    "match_all": {}
  }
}

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

yacmzcpb

yacmzcpb1#

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

POST my-index-000001/_delete_by_query?conflicts=proceed&wait_for_completion=false
     {
      "query": {
      "match_all": {}
     }
   }

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

相关问题