Elasticsearch之delete_by_query和update_by_query

本文介绍了Elasticsearch中的delete_by_query和update_by_query方法。delete_by_query用于按条件删除记录,其任务模式允许异步执行并处理版本冲突。update_by_query则支持按条件更新文档,同样支持异步任务,允许在更新操作中指定详细更新语句。
摘要由CSDN通过智能技术生成

delete_by_query

delete_by_query方法会删除符合条件的记录,示例如下:

POST twitter/(doc_type, 5.x)/_delete_by_query
{
  "query": { 
    "match": {
      "message": "some message"
    }
  }
}

查询语句跟search api是一样的,很方便。
然后就会得到类似下面的结果:

{
  "took" : 147,
  "timed_out": false,
  "deleted": 119,
  "batches": 1,
  "version_conflicts": 0,
  "noops": 0,
  "retries": {
    "bulk": 0,
    "search": 0
  },
  "throttled_millis": 0,
  "requests_per_second": -1.0,
  "throttled_until_millis": 0,
  "total": 119,
  "failures" : [ ]
}
  • version_conflicts表示是否有数据版本冲突,因为开始要删除时,delete_by_query会得到索引快照并且使用内部版本号来找到要删除哪些文档。如果获取到快照与执行删除过程的这段时间内,有文档发生变化,那么版本就会冲突。另外版本冲突后可以设置conflicts=proceed跳过冲突。
  • <
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值