记录Springboot使用ElasticsearchRestTemplate的updateByQuery的用法的坑

这篇具有很好参考价值的文章主要介绍了记录Springboot使用ElasticsearchRestTemplate的updateByQuery的用法的坑。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

由于ElasticsearchRestTemplate对RestHighLevelClient 进一步的封装,因此对updateByQuery的摸索过程记录

BoolQueryBuilder queryBuilder = QueryBuilders.boolQuery().filter(QueryBuilders.nestedQuery("rule_info_list",QueryBuilders.termQuery("rule_info_list.id", ruleId)
                , ScoreMode.None)).filter(QueryBuilders.termQuery("url", url));
        NativeSearchQuery nativeSearchQuery = new NativeSearchQuery(queryBuilder);

        Map map = new HashMap<>();
        map.put("ruleId", ruleId); map.put("status", status);

        UpdateQuery build = UpdateQuery.builder(nativeSearchQuery)
                .withScript("for (int i = 0; i < ctx._source.rule_info_list.size(); ++i) { if (ctx._source.rule_info_list[i].id == params.ruleId) { ctx._source.rule_info_list[i].status = params.status; break; } }")
                .withScriptType(ScriptType.INLINE)
                .withParams(map)
                .build();

        ByQueryResponse byQueryResponse = elasticsearchWriterClientTemplate.updateByQuery(build, IndexCoordinates.of(indexName));

如果使用如下图的方式,会导致script构造的时候出现语法错误

elasticsearchresttemplate update,ES,后端,elasticsearch,Powered by 金山文档

此测试过程历时几个小时

** 另外还需要注意elasticsearch中该字段的数据类型存储,在进行Query构建时,需要与elasticsearch中保持一致文章来源地址https://www.toymoban.com/news/detail-730144.html

到了这里,关于记录Springboot使用ElasticsearchRestTemplate的updateByQuery的用法的坑的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ElasticsearchRestTemplate 和ElasticsearchRepository 的使用

    目录 一、使用ElasticsearchRestTemplate类  1.引用Maven类库 2. 配置文件application.yml 3.创建实体类(用于JSON文档对象的转换) 二、使用ElasticsearchRepository 类 1.引用Maven类库 2. 配置文件application.yml 3. ElasticsearchRepository接口的源码  4.CrudRepository  源码 5. 查询查找策略 5.1存储库方法可

    2024年02月03日
    浏览(34)
  • ElasticSearchRepository和ElasticsearchRestTemplate的使用

    上一章:《SpringBoot整合ElasticSearch实现模糊查询,批量CRUD,排序,分页,高亮》 在上一章节,我们学习到了es通过RestHighLevelClient实现最基本的增删改查的语法,在本章我们继续深入实践一下es的相关操作,在SpringBoot的相关依赖中,es已经帮我们将基本的操作都进行了封装,我

    2024年02月03日
    浏览(30)
  • ES简单教程(二)使用ElasticsearchRestTemplate新增、删除索引文档数据

    注意 :不是新增索引哈,是为某个索引新增/删除文档数据,即为某个表新增或者删除表数据。

    2024年02月11日
    浏览(43)
  • 使用ElasticsearchRepository和ElasticsearchRestTemplate操作Elasticsearch,Spring Boot整合Elasticsearch

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 Elasticsearch官网参考文档:https://www.elastic.co/guide/index.html Elasticsearch官方下载地址:https://www.elastic.co/cn/downloads/elasticsearch https://docs.spring.io/spring-data/elasticsearch/reference/ 添加依赖 修改yml配置文件 【自定义

    2024年04月22日
    浏览(45)
  • ES简单教程(四)使用ElasticsearchRestTemplate多条件分页查询(复杂版)

    TIPS :本文实现类似数据库后台管理系统的多条件分页查询。

    2024年02月11日
    浏览(45)
  • ES简单教程(五)使用ElasticsearchRestTemplate手动生成ES索引 项目启动自动生成ES索引

    其实使用 SpringBoot 项目玩ES的时候,人家本身是提供了一个注解 @Docment 是可以自动在项目启动的时候创建ES索引的! 只不过没用,因为 ES 的版本在升级, ElasticsearchRestTemplate 配套的脚手架也在升级,所以你会在网上遇到一个情况:搜到的各类解决方案可能都太适配你的情况,

    2024年02月03日
    浏览(60)
  • IDEA2023中使用SpringBoot整合Lombok全过程及详细用法

    🧑‍💻 作者名称 :DaenCode 🎤 作者简介 :CSDN实力新星,后端开发两年经验,曾担任甲方技术代表,业余独自创办智源恩创网络科技工作室。会点点Java相关技术栈、帆软报表、低代码平台快速开发。技术尚浅,闭关学习中······ 😎 人生感悟 :尝尽人生百味,方知世间冷

    2024年02月07日
    浏览(37)
  • 使用SpringBoot记录用户操作日志

    在工作中我们可能会遇到一个需求,就是记录用户的操作信息,接下来使用spring的aop特性实现这一需求 一、首先引入我们必要的一些依赖 二、自定义一个注解,用于标注需要监控的方法 三、在数据库中创建一张表,用来保存用户的操作日志 字段可以有  用户名  用户操作

    2024年02月06日
    浏览(39)
  • 使用Git rebase合并多条提交记录commit。以及使用 git commit amend本地提交直接合并到远程已有commit的用法

    需求场景一 : 对某个小的功能点进行多次反复的修改提交,且已经提交到远程,导致commit记录过多,太过于杂乱无章,想要精简合并一些提交记录。 场景还原: 比如下图4个git commit记录,log1-log4,需要将他们合并成一个提交记录 解决方案: 要处理的是log1-log4 这四条commit记

    2024年02月08日
    浏览(57)
  • jdk17+springboot使用webservice,踩坑记录

    这几天wms对接lbpm系统,给我的接口是webservice的,老实说,这个技术很早,奈何人家只支持这个。 环境说明:JDK17 springboot2.6.6。网上很多教程是基于jdk8的,所以很多在17上面跑不起来。折腾两天,直接给答案。 因为springboot版本不是3.0,用不了 cxf-spring-boot-starter-jaxws 的 4 版本

    2024年02月02日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包