ElasticSearch的update_by_query方法

Es的update_by_query方法会首先执行脚本中的query方法,获取到数据之后,执行update方法,之前在python的客户端中就看到了这个借口,现在用了一下,效果不错

updateBody = {
    "query": {
        "bool": {
            "must": [
                {"term": {"_id": "11"}}
            ],
        }
    },
    "script": {
        "inline": "ctx._source.tags = params.tags",
        "params": {
            "tags": tags
        },
        "lang":"painless"

    }
}

上面就是选出id为11的记录,然后将该记录的tags属性改为系统传入的tags列表

client.update_by_query(index=index_name,doc_type='entry',body=updateBody)

你可能感兴趣的:(ElasticSearch的update_by_query方法)