赞
踩
最近发现es中有错误数据,某些索引下的字段标识是反的,想要直接根据条件修改指定字段的值
比如es中有一批电脑,每台电脑都自带很多参数(厂家、内存、CPU型号、长宽高等),索引是电脑自己的标识,我想把所以联想的数据中,酷睿i7的电脑,性能标识从中等改为高级
可以使用_update_by_query修改,Java es API中对应的是 UpdateByQueryRequestBuilder
实现上面的例子:
POST 电脑索引/_update_by_query { "query": { "bool": { "must": [ { "term" : { "CPU.keyword" : { "value" : "酷睿i7" } } }, { "term" : { "Performance.keyword" : { "value" : "中等" } } } ] } }, "script": { "source": "ctx._source.Performance='高级';" } }
_delete_by_query是删除,用法一样
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。