ElasticSearch实战(二十三)-查询并更新匹配文档(update_by_query)

Posted 张志翔ۤ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ElasticSearch实战(二十三)-查询并更新匹配文档(update_by_query)相关的知识,希望对你有一定的参考价值。

        update_by_query的语法基本上和delete_by_query类似,但是因为增加了更新操作,所以语句内会增加相应的更新语句,特此记录便于日后查阅。

        1、更新符合条件的记录

        查询user是kimchy的数据,传入参数count为4,更新counter字段,让它加上count值再重新赋值给counter,命令如下:

POST company01/_update_by_query
{
    "script" : {
        "source": "ctx._source.counter += params.count",
        "lang": "painless",
        "params" : {
            "count" : 4
        }
    },
    "query": {
        "term": {
            "user": "kimchy"
        }
    }
}

        查询user是kimchy的数据,更新likes字段,让它自增一位,再重新赋值给counter,命令如下:

POST company01/_update_by_query
{
  "script": {
    "source": "ctx._source.likes++",
    "lang": "painless"
  },
  "query": {
 

以上是关于ElasticSearch实战(二十三)-查询并更新匹配文档(update_by_query)的主要内容,如果未能解决你的问题,请参考以下文章

ElasticSearch实战(二十三)-数据删除

ElasticSearch实战(三十三)-滚动查询

ElasticSearch实战(三十三)-滚动查询

ElasticSearch实战(二十八)-高亮查询

ElasticSearch实战(二十八)-高亮查询

ElasticSearch实战(二十四)-查询语法扩展