美文网首页
Delete By Query

Delete By Query

作者: 风云傲天 | 来源:发表于2018-11-15 21:44 被阅读0次

测试数据##

POST _bulk
{ "index" : { "_index" : "test", "_type" : "_doc", "_id" : "1" } }
{"idx": 1,"message": "some thing","count": 10}
{ "index" : { "_index" : "test", "_type" : "_doc", "_id" : "2" } }
{"idx": 2,"message": "message has been sent to him","count": 10}
{ "index" : { "_index" : "test", "_type" : "_doc", "_id" : "3" } }
{"idx": 3,"message": "haha thing","count": 10}
  • 删除包含some或message的文档
POST test/_delete_by_query
{
  "query": { 
    "match": {
      "message": "some message"
    }
  }
}
  • 路由同样routing=xxx

在_delete_by_query执行期间,依次执行多个搜索请求,以便找到要删除的所有匹配文档。每次发现一批文档时,执行相应的批量请求以删除所有这些文档。如果搜索或批量请求被拒绝,_delete_by_query依赖于默认策略来重试拒绝的请求(最多10次,以指数返回)。达到最大重试次数限制会导致_delete_by_query中止,并在响应失败中返回所有故障。已经执行的删除仍然保持。换句话说,进程没有回滚,只会中止。当第一个故障导致中止时,失败批量请求返回的所有故障都会返回到故障元素中;因此,有可能会有不少失败的实体。
如果您想计算版本冲突,而不是导致它们中止,那么在URL上设置conflicts=proceed或在请求体重中设置"conflicts": "proceed"。

相关文章

网友评论

      本文标题:Delete By Query

      本文链接:https://www.haomeiwen.com/subject/hfpufqtx.html