重新设置mapping
添加新的字段。
设置es允许脚本执行:
elasticsearch.yml
script.inline: true
然后执行脚本
POST linewell_assets_mgt_es/lw_devices/_update_by_query?conflicts=proceed
{
"script":{
"lang":"painless",
"inline":"if (ctx._source.update_time== null) {ctx._source.
update_time = '2018-01-01'}" } }
就可以为新添加的字段设置默认值。
如果不加conflicts=proceed会出现版本冲突
或者可以带条件:
{
"script": {
"inline": "ctx._source.camera_dev_conn_status='在线'"
},
"query": {
"match_phrase": {
"camera_sbzt": "在用"
}
} }