es新增字段,并设置默认值
重新设置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": "在用" } } }