es curl _update_by_query 根据条件更新

使用场景

在日常运维中,必不可免的需要对es中的数据进行一些更新,尤其是基于条件的更新。
在没有es head的情况下,只能在服务器上使用curl通过es的api进行操作,结合官方文档及网上示例,走了不少弯路,现将可用的命令总结一下。

基本用法示例

 curl -X POST 'http://192.168.20.20:9200/index_name_*/_update_by_query?pretty' -H 'content-Type:application/json' -d '{"script": {"source": "ctx._source['\''userName'\'']='\''zhangsan'\'';ctx._source['\''userId'\'']='\''1029312931'\''","lang": "painless"},"query": {"term": {"userName": "lisi"}}}'    

在上述命令中:
服务器地址为:192.168.20.20
索引名称为:index_name_* (注意此处模糊匹配,即在index_name的所有索引里面更新)
条件:name=lisi
修改后:name为张三,用户id为1029312931。

注意

curl中的json如果涉及到单引号’,需要转义,转义方式为’’'对应一个单引号。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值