当前位置:   article > 正文

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

elasticsearch更新某个字段

原文链接:http://www.mamicode.com/info-detail-2524351.html

1.源生API

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

POST /infomations/infomations/_update_by_query

  • 1
  • 2

JSON请求格式

{
    "query": {
        "match": {
            "status": "UP_SHELF"
        }
    },
    "script": {
        "inline": "ctx._source[‘status‘] = ‘DOWN_SHELF‘"
    }
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

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();
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

原文链接:http://www.mamicode.com/info-detail-2524351.html

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/67919
推荐阅读
相关标签
  

闽ICP备14008679号