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

 

 

 



免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM