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": "在用"
    }
  }

}

 

posted @ 2019-01-08 10:18  护花使者  Views(11420)  Comments(1Edit  收藏  举报