首页 > 其他 > 详细

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

时间:2018-11-19 15:01:35      阅读:2034      评论:0      收藏:0      [点我收藏+]

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();

 

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

原文:https://www.cnblogs.com/technologykai/p/9983098.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!