es head 新增字段并赋值

导读:本篇文章讲解 es head 新增字段并赋值,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

//新增字段
请求url:http://111.11.11.111:19200/es的index/_mapping/es的type/
请求方法:put
数据格式:
{
  "es的type": {
    "properties": {
      "字段1": {
        "type": "string"
      },
      "字段2": {
        "type": "string"
      }
    }
  }
}
//赋值
请求url:http://111.11.11.111:19200/es的type/_update_by_query/
请求方法:post
数据格式:
{
  "script": {
    "lang": "painless",
    "inline": "ctx._source.字段= '值' "
  }
}

ElasticSearch的update_by_query语句可以很方便地为原有es表修改字段和新增字段,如下面的例子所示:

1.将资产表中area为空的字段赋值为’无’

POST soc-system/_update_by_query
{
  "script": {
    "source": "ctx._source['area']='无'" 
  },
  "query": {
    "bool": {
      "must_not": [
        {
          "exists": {
            "field": "area"
          }
        }
      ]
    }
  }
}

2.添加一个网段字段,其值根据已有字段ip截取而来

POST soc-system/_update_by_query
{
  "script": {
    "source": "def a=ctx._source['ip'].lastIndexOf('.');def sec=ctx._source['ip'].substring(0,a);ctx._source['ipSection']=sec+'.0'"
  },
  "query": {
    "bool": {
      "must": [
        {
          "exists": {
            "field": "ip"
          }
        }
      ]
    }
  }
}

其中script的语法为painless
 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/14046.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!