elasticsearch7.5 数组追加,同时字段更新, es判断字段是否存在,用null

"_source" : {

"ann_list" : [
{
"ann_date" : "2018-12-20",
"ann_num" : "1628"
}],

"ann_status" : 1

}

ann_list = {1:1,2:2}

 


data = { "script": { "source":""" ctx._source.ann_status=params.ann_status; if (ctx._source.ann_list== null) {ctx._source.ann_list=params.tag}else{ctx._source.ann_list.add(params.tag1)} """, "lang": "painless", "params": { "tag": [ann_list], "tag1": ann_list, "ann_status": 1 } }, "query": { "match": { "rid": rid } } } es.update_by_query(index='test', body=data)

  elasticsearch painless语法判断字段不存在,ctx._source.字段== null

参考文档

https://www.elastic.co/guide/en/elasticsearch/painless/current/painless-walkthrough.html

https://www.elastic.co/guide/en/elasticsearch/reference/7.6/docs-update-by-query.html




原文地址:https://www.cnblogs.com/jackduan/p/12673709.html