//新增字段
请求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