乐9乐开发网
广告位招商联系QQ:123077622
 
广告位招商联系QQ:123077622

elasticsearch---批量修改,批量更新某个字段

乐9乐开发网 https://welsheng.com 2020-04-17 10:06 出处:网络 作者:乐9乐开发网整理
1.源生API  在这里没有用官方提供的bulk API,而是用的另外一种方式。 POST /infomations/infomations/_update_by_query JSON请求格式 { "query": { "match": { "status": "UP_SHELF" } }, "script": {

1.源生API

 在这里没有用官方提供的bulk API,而是用的另外一种方式。

POST /infomations/infomations/_update_by_query
JSON请求格式
{
    "query": {
        "match": {
            "status": "UP_SHELF"
        }
    },
    "script": {
        "inline": "ctx._source[‘status‘] = ‘DOWN_SHELF‘"
    }
}

POST请求/索引/文档名/_update_by_query

主要看一下下面的script

ctx._source[字段名] = “值”;ctx._source[字段名] = “值”;

多个的话就用分号隔开。

 

2.JAVA API操作

        //集群模式,获取链接

Client client = elasticsearchTemplate.getClient();

UpdateByQueryRequestBuilder updateByQuery = UpdateByQueryAction.INSTANCE.newRequestBuilder(client); String name = "修改数值"; updateByQuery.source("索引")

//查询要修改的结果集 .filter(QueryBuilders.termQuery("field", 412))

//修改操作 .script(new Script( "ctx._source[‘field‘]=‘"+ name+"‘;ctx._source[‘field‘]=‘"+name+"‘")); //响应结果集

BulkByScrollResponse response = updateByQuery.get(); long updated = response.getUpdated();

扫码领视频副本.gif

0

上一篇:

:下一篇

精彩评论

暂无评论...
验证码 换一张
取 消