欢迎投稿

今日深度:

Elasticsearch 5.6.3 通过script添加、删除数组元素,elasticsearch5.6.3

Elasticsearch 5.6.3 通过script添加、删除数组元素,elasticsearch5.6.3


环境:Elasticsearch 5.6.3

需求描述:对ES文档中一个数组字段tags添加或者删除元素“3”,esIP代表Elasticsearch的IP,docid代表文档ID


方法:

1、添加数组元素

curl -XPOST 'http://esIP:9200/in_news/document/docid/_update' -d ' {"script":{"inline":"ctx._source.tags.add(params.tag)","params":{"tag":"3"}}}'


2、删除数组元素 curl -XPOST 'http://esIP:9200/in_news/document/docid/_update' -d '
{"script":{"inline":"ctx._source.tags.remove(ctx._source.tags.indexOf(params.tag))","params":{"tag":"3"}}}

3、通过查询更新数组

curl -XPOST 'http://esIP:9200/in_news/document/_update_by_query' -d ' {"query":{"term":{"tags":"1"}},"script":{"inline":"ctx._source.tags.remove(ctx._source.tags.indexOf(params.tag))","params":{"tag":"1"}}}'
其中,add,remove都是Java中的java.util.ArrayList类的内置函数。

www.htsjk.Com true http://www.htsjk.com/Elasticsearch/26338.html NewsArticle Elasticsearch 5.6.3 通过script添加、删除数组元素,elasticsearch5.6.3 环境:Elasticsearch 5.6.3 需求描述:对ES文档中一个数组字段tags添加或者删除元素“3”,esIP代表Elasticsearch的IP,docid代表文档...
相关文章
    暂无相关文章
评论暂时关闭