"_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