记录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日
    浏览(29)
  • ElasticSearchRepository和ElasticsearchRestTemplate的使用

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

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

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

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

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

    2024年02月11日
    浏览(38)
  • 使用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日
    浏览(33)
  • ES简单教程(五)使用ElasticsearchRestTemplate手动生成ES索引 项目启动自动生成ES索引

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

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

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

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

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

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

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

    2024年02月08日
    浏览(39)
  • 使用SpringBoot AOP记录操作日志和异常日志

    平时我们在做项目时经常需要对一些重要功能操作记录日志,方便以后跟踪是谁在操作此功能;我们在操作某些功 能时也有可能会发生异常,但是每次发生异常要定位原因我们都要到服务器去查询日志才能找到,而且也不能对发 生的异常进行统计,从而改进我们的项目,要

    2024年02月04日
    浏览(35)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包