• 欢迎访问开心洋葱网站,在线教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入开心洋葱 QQ群
  • 为方便开心洋葱网用户,开心洋葱官网已经开启复制功能!
  • 欢迎访问开心洋葱网站,手机也能访问哦~欢迎加入开心洋葱多维思维学习平台 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏开心洋葱吧~~~~~~~~~~~~~!
  • 由于近期流量激增,小站的ECS没能经的起亲们的访问,本站依然没有盈利,如果各位看如果觉着文字不错,还请看官给小站打个赏~~~~~~~~~~~~~!

es更新某个字段

Elasticsearch 开心洋葱 1649次浏览 0个评论

ELASTICSEARCH批量修改,批量更新某个字段

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


开心洋葱 , 版权所有丨如未注明 , 均为原创丨未经授权请勿修改 , 转载请注明es更新某个字段
喜欢 (1)

您必须 登录 才能发表评论!

加载中……