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

}

 


免责声明!

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



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