当前位置: 首页 > article >正文

关于easy-es对时间范围查询遇到的小bug

前言:在使用easy-es之前作为一个小白的我只有es原生查询的基础,在自己通过查看官方文档自学easy-es遇到了一个挫折,其他的还好语法和MybatisPlus差不多,正以为我觉得很快就能入手,在对时间范围的判断就给我当头一棒,发现查出来数据为空,本文主要是作为此bug的记录,模拟一下当时的情况,并且做解决,在未来再写一篇个人使用easy-es的笔记,记录一些常用的用法。

一、easy-es官方文档

简介 | Easy-Es傻瓜级ElasticSearch搜索引擎ORM框架icon-default.png?t=O83Ahttps://www.easy-es.cn/pages/7ead0d/#%E7%AE%80%E4%BB%8B

关于easy-es的实战也可以参考我下面这个博客:

SpringBoot中easy-es入门实战(结合官方文档版)-CSDN博客文章浏览阅读386次,点赞10次,收藏15次。本文主要是参考官方文档进行编写,记录一下自己一些比较常使用easy-es使用方法和内容,其实他的使用和MybatisPlus差不多的,之前我还写了一些关于es的博客可以参考一下:Springboot中使用Elasticsearch(部署+使用+讲解 最完整)_spring boot elasticsearch-CSDN博客最完整最详细的springboot中使用es,在前面有服务器部署es相关的东西,在后面有使用java的实战,对于实战的方法使用结合官网深度去研究和讲解。https://blog.csdn.net/qq_73440769/article/details/144790200?spm=1001.2014.3001.5501

二、当时bug的情况

对于需要看没有错误的版本直接移步到bug解决那边查看就行

1、我的实体

这时候的createTime是Timestamp类型的

2、我的接口

我的需求是获取这个月内开始和结束日期之内的数据,并且封装返回,返回的阅读是需要"yyyy-MM-dd"这个格式的,所以我这里是写了个处理的方法,在实际开发中,我使用MybatisPlus去做查询,查询的条件和上面easy-es的是一致的,但是最终的查询结果es查询的值是null,然后MybatisPlus查询的结果是正常的,很奇怪,当时还有很多个查询条件,而且是刚刚入门easy-es,就以为是别的问题,最后才锁定是时间的问题。

三、bug解决

1、修改实体

在此处添加这个注解指定日期的格式,下面是在kibana中查到es对应实体的类型

@IndexField(fieldType = FieldType.DATE)

注意修改实体后,需要重新建es索引,再进行操作,后续我提供一个建索引的方法实现:

@PostMapping("/test/createIndex")
    public void testCreateIndex() {
        // 测试创建索引,框架会根据实体类及字段上加的自定义注解一键帮您生成索引 需确保索引托管模式处于manual手动挡(默认处于此模式),若为自动挡则会冲突
        documentMapper.createIndex();
    }

2、修改接口

使用了下面这个进行格式化:

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
startDate.format(formatter)

最后运行,发现正常通过时间范围查询到数据了,可以发现EsWrappers.lambdaChainQuery进行查询并没有失效,解决问题。


http://www.kler.cn/a/456917.html

相关文章:

  • Vue 针对浏览器参数过长实现浏览器参数加密解密
  • 从0入门自主空中机器人-3-【环境与常用软件安装】
  • 手机h5加桌面图标
  • 再见2024,你好2025
  • 阴阳师の新手如何速刷5个SP/SSR?!(急速育成)
  • 通过无障碍服务(AccessibilityService)实现Android设备全局水印显示
  • 基于springboot校园志愿者管理系统源码和论文
  • Prompt提示工程上手指南(七)Prompt编写实战-基于智能客服问答系统下的Prompt编写
  • spring cloud微服务-OpenFeign的使用
  • AI主流向量数据库整理
  • 基于规则的系统架构:理论与实践
  • C语言中的贪心算法
  • BigDecimal解决精度问题
  • 【git】将项目上传到github、gitee
  • 【蓝桥杯每日一题】与或异或——DFS
  • 【Docker命令】如何使用 `docker cp` 命令拷贝容器文件到宿主机
  • Dify智能体进阶:Selenium截取动图
  • Git完整使用经历
  • 0基础带你python入门:pyQT + OpenCV相关练习
  • 调试文件系统(DebugFS )
  • Flutter 实现全局悬浮按钮学习
  • 微信小程序页面传参长度问题
  • Blender真实灰尘粒子动画资产预设 Dust Particles Pro V1.2
  • JVM常用参数
  • 《易经》在 Java 编程中的应用
  • Flutter 异步编程简述