当前位置:   article > 正文

es修改搜索结果的指定字段_es修改某个字段的值

es修改某个字段的值

 

一、原生语句

1、match

  1. POST /infomations/infomations/_update_by_query
  2. JSON请求格式
  3. {
  4. "query": {
  5. "match": {
  6. "status": "UP_SHELF"
  7. }
  8. },
  9. "script": {
  10. "inline": "ctx._source['status'] = 'DOWN_SHELF'"
  11. }
  12. }

 假如是修改多个:多个的话就用分号隔开。

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

2.term

  1. {
  2. "query": {
  3. "term": {
  4. "ssjg": "440000"
  5. }
  6. },
  7. "script": {
  8. "inline": "ctx._source['isonline'] = '1'"
  9. }
  10. }
  1. negative/negative/_update_by_query post
  2. {
  3. "query": {
  4. "prefix": {
  5. "sjlb.keyword": "药品广告(特殊医学用途配方食品广告适用药品广告管理规定,中华人民共和国食品安全法(2018修正)第"
  6. }
  7. },
  8. "script": {
  9. "lang": "painless",
  10. "source": "ctx._source.sjlb = params.live_name",
  11. "params": {
  12. "live_name": "药品广告(特殊医学用途配方食品广告适用药品广告管理规定,中华人民共和国食品安全法(2018修正)第80条)"
  13. }
  14. }
  15. }

2.java操作

  1. Client client = elasticsearchTemplate.getClient();
  2. UpdateByQueryRequestBuilder updateByQuery = UpdateByQueryAction.INSTANCE.newRequestBuilder(client);
  3. String name = "修改数值";
  4. updateByQuery.source("索引")
  5. //查询要修改的结果集
  6. .filter(QueryBuilders.termQuery("field", 412))
  7. //修改操作
  8. .script(new Script( "ctx._source['field']='"+ name+"';ctx._source['field']='"+name+"'"));
  9. //响应结果集
  10. BulkByScrollResponse response = updateByQuery.get();
  11. long updated = response.getUpdated();

 

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

闽ICP备14008679号