项目中有个需求是通过条件去批量修改某个或多个字段,在网上找了半天找到批量修改方法api但是有个问题就是这个使用的ElasticsearchClient连接,然而我用的是RestHighLevelClient不好使。

经过一番摸索搜索后发现RestHighLevelClient也提供了updateByQuery,废话不多说下面是具体用法。

public Boolean updateByQuery(RestHightLevelClient client){UpdateByQueryRequest updateByQuery  = new UpdateByQueryRequest("索引名");//设置分片并行updateByQuery.setSlices(2);//设置版本冲突时继续执行updateByQuery.setConflicts("proceed");//设置更新完成后刷新索引 ps很重要如果不加可能数据不会实时刷新updateByQuery.setRefresh(true);//查询条件如果是and关系使用must 如何是or关系使用shouldBoolQueryBuilder boolQueryBuilder =  QueryBuilders.boolQuery().must(QueryBuilders.termQuery("age","24")).should(QueryBuilders.termQuery("name","张三"))updateByQuery.setQuery(boolQueryBuilder);//设置要修改的内容可以多个值多个用;隔开updateByQuery.setScript(new Script("ctx._source['addr']='北京'"));try {BulkByScrollResponse response = client.updateByQuery(updateByQuery,RequestOptions.DEFAULT)return response.getStatus().getUpdated() > 0?true:false;} catch (IOException e) {e.printStackTrace();}}    

RestHighLevelClient使用updateByQuery批量更新操作相关推荐

  1. Mybatis之批量更新操作

    2019独角兽企业重金招聘Python工程师标准>>> Mybatis之批量更新操作 更新单条记录 1 UPDATE course SET name = 'course1' WHER ...

  2. mybatis mysql 批量更新_mysql批量update更新,mybatis中批量更新操作

    在日常开发中,有时候会遇到批量更新操作,这时候最普通的写法就是循环遍历,然后一条一条地进行update操作.但是不管是在服务端进行遍历,还是在sql代码中进行遍历,都很耗费资源,而且性能比较差,容易造 ...

  3. JAVA怎么批量更新mysql_java 关于批量更新操作的实现

    批量更新操作 批量更新逻辑: 底层真正的批量更新(一次请求发送批量更新语句) 底层循环发送语句(假批量更新)-本质上就是一条一条更新 批量更新逻辑判断 JdbcTemplate JdbcUtils.s ...

  4. JAVA怎么批量更新mysql_java 批量添加、批量更新 操作数据库

    (1)三种插入操作的方法 1.1 利用for循环的批量插入 示例xml insert into test_user (u_name,create_date) value (#{userName},SY ...

  5. Dynamics 365 CRM (online) 使用WebApi调用全局action(Plugin)执行批量更新操作, 前端JS批量上传记录到CRM中

    创建一个action process,如下图,分别有两个inputparameter 和一个outputparameter 2.使用visual studio 2019编写一个plugin dll, ...

  6. Mysql批量更新的三种方式

    前言 批量插入由于mysql的VALUES原生支持,使用较为便利. 批量更新的写法一般有三种,在更新数量较少的情况下,前两种性能不相上下.但是在更新字段增加,更新条数较多(500以上)建议使用第三种写 ...

  7. mybatis批量更新 mysql 报错,Mybatis批量更新报错问题

    下面给大家介绍mybatis批量更新报错问题, allowMultiQueries=true 后来发现是jdbc链接没有加允许批量更新操作的参数引起的,不加会报badsql,mysql版的mybati ...

  8. mysql批量更新报错_Mysql批量更新的三种方式

    前言 批量插入由于mysql的VALUES原生支持,使用较为便利. 批量更新的写法一般有三种,在更新数量较少的情况下,前两种性能不相上下.但是在更新字段增加,更新条数较多(500以上)建议使用第三种写 ...

  9. mysql语句批量更新数据库_sql 更新批量数据库语句

    JDBC(六)批量处理sql 批量更新是分组在一起的一批更新,并以"批量"方式发送到数据库,而不是逐个发送更新. 一次发送一批更新到数据库,比一个一个发送更快,等待每个更新完成. ...

最新文章

  1. 2022-2028年中国演出市场深度调研与投资可行性报告
  2. 【转】Yii在表单中建立关联下拉列表dropdown
  3. 玫瑰花函数matlab,网上收到的用matlab画玫瑰花的代码怎么不行啊,报告错误,求大神...
  4. 如何使用python装饰器_Python学习之如何使用装饰器 @decorator
  5. ubuntu 安装 sublime
  6. 网络人“时间都去哪儿了”
  7. python简单代码恶搞-一个可以套路别人的python小程序实例代码
  8. 计算机网络:从浅尝辄止到融汇贯通(近两万字长文)
  9. 今日起禁止个人注册CN域名(每日关注2009.12.14)
  10. STM32F4—Flash读写
  11. 栈的输出_程序设计做题笔记:计算表达式(一):栈
  12. ORA-39405: Oracle Data Pump does not support importing from a source database with TSTZ version 36
  13. 和传统服务器对比,云计算主要有哪些优势?
  14. alias template,升级的typedef
  15. Qt实用技巧:仅去掉标题栏,保持对话框边框
  16. Tableau 表计算函数
  17. Plist文件是什么?
  18. 衡水一中2021高考成绩查询,2021清北保送名单出炉,这些学校表现很亮眼,衡水中学未上榜?...
  19. java栈溢出漏洞cve,TP-Link WR841N 栈溢出漏洞(CVE-2020-8423)分析
  20. 邮件乱码产生的原因及其分析

热门文章

  1. NOIP2013 花匠 题解(方法全面)
  2. clickhouse基础教程
  3. ff7重制版青魔法_最终幻想7重制版全青魔法获取指南
  4. 万事起头难:完整步骤带你学会Node.js环境配置
  5. 考研英语核心词汇趣讲-导学(1)
  6. 程序猿专属的国庆中秋放假通知!
  7. 关于JS出现的Cannot read property 'val' of null错误
  8. layui框架----下拉框的二级联动
  9. 修正闪退,Win8 Metro版VLC影音播放器下载
  10. java中stopwatch,Java StopWatch.stop方法代碼示例