博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
elasticsearch---批量修改,批量更新某个字段
阅读量:3937 次
发布时间:2019-05-23

本文共 1051 字,大约阅读时间需要 3 分钟。

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

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

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

转载地址:http://fkuwi.baihongyu.com/

你可能感兴趣的文章
memcache的安装及管理
查看>>
git 传输
查看>>
创建新项目
查看>>
印刷工艺- 喷墨印刷
查看>>
印刷工艺流程
查看>>
印刷业ERP启蒙
查看>>
Java8 Lambda表达式使用集合(笔记)
查看>>
Java魔法师Unsafe
查看>>
spring cloud java.lang.NoClassDefFoundError: javax/servlet/http/HttpServletRequest
查看>>
Centos系统安装MySQL(整理)
查看>>
postgresql计算两点距离(经纬度地理位置)
查看>>
postgres多边形存储--解决 Points of LinearRing do not form a closed linestring
查看>>
postgresql+postgis空间数据库总结
查看>>
spring 之 Http Cache 和 Etag(转)
查看>>
基于Lucene查询原理分析Elasticsearch的性能(转)
查看>>
HttpClient请求外部服务器NoHttpResponseException
查看>>
springCloud升级到Finchley.RELEASE,SpringBoot升级到2.0.4
查看>>
Spring boot + Arthas
查看>>
omitted for duplicate jar包冲突排查
查看>>
如何保证缓存与数据库的双写一致性?
查看>>