
es java client实战
文章平均质量分 80
es java client从零环境搭建到各类生产排错
wu@55555
软考高级系统架构师、Elastic认证工程师、CSDN后端领域博客专家、阿里云专家博主、华为云·云享专家博主、51CTO专家博主、掘金社区认证优秀作者
——致力于家乡互联网技术建设
展开
-
elastic:nested实现对满足条件的数组元素聚合查询
某些业务场景下,我们要对数组元素进行聚合查询,就需要用到nested数据类型,但部分场景是针对数组中指定的元素进行聚合,于是就需要对数组元素进行限定,今天来看看这种场景如何实现。原创 2023-12-18 21:24:23 · 1325 阅读 · 0 评论 -
Elastic:像mybatis-plus一样优雅的书写es客户端代码——Easy-Es
Easy-Es是以elasticsearch官方提供的为基础,而开发的一款针对es的ORM框架,类似于es版的mybatis-plus,可以让开发者无需掌握es复杂的DSL语句,只要会mysql语法即可使用es,快速实现es客户端语法条件构造器上述演示,我们构造查询条件时,使用了EsWrapperseasy-es 条件构造器介绍索引托管如果想要自动根据创建的es实体类来创建对应的索引,那么只需要调整索引的托管模式为非手动模式即可,因为这里我不需要自动同步数据,所以选择非平滑模式。原创 2023-08-06 16:45:52 · 1942 阅读 · 0 评论 -
spring data elasticsearch:动态配置实体类索引名称indexName
最近接到一个需要,需要在springdataelasticsearch关联的实体类中动态的根据配置文件动态创建索引名称,比如开发环境下索引名称为user-dev,测试环境下为user-test,生产环境为user-prod一开始接到这个需要觉得很怪,因为不同环境的区分直接搭建不同的es服务器环境不就行了吗,为什么要这么麻烦来处理呢?后来了解到是因为当前项目成本受限,需要隔离开发环境和测试环境用的同一台服务器,于是就产生了这个奇怪的需求。其实想想,不排除某些场景下,就需要动态的创建索引名称。...原创 2022-07-22 21:41:40 · 3036 阅读 · 0 评论 -
spring data elasticsearch:复杂查询指南
因为es非关系型数据库的特性,我们常常需要在实际业务中实现复杂查询,从而来查询到我们想要的数据。很多同学刚接触java client不知道如何实现各类复杂查询操作。今天我们就来讲讲一些常见的复杂查询如何实现下文演示基于如下环境开始讲解之前,先声明我们的索引结构,方便大家后续理解我们的案例测试数据,供大家跟练如果不知道springboot如何整合spring-data-elasticsearch的,可以参考我之前的文章从零搭建springboot+spring data elasticsearch4.2原创 2022-07-03 09:45:46 · 2524 阅读 · 2 评论 -
spring data elasticsearch: 设置保活策略|长时间不连接es,报错超时连接
java client长时间没有连接es后,再次调用访问接口,报错连接超时1、因为问题的原因是长时间没有连接导致的,最直接、常见的解决方案就是定期的去调用连接es,以此保证连接不会中断,这样的操作我们称之为2、在的回调函数中提供了一个方法,可以用来设置保活策略3、完整代码:在配置类中声明设置保活策略4、再次启动项目则不会出现连接超时报错............原创 2022-07-02 21:58:44 · 6347 阅读 · 0 评论 -
spring data elasticsearch:从零搭建springboot整合spring data elasticsearch4.2.x环境
我们之间讲解了springboot整合spring data elasticsearch3.x。但elasticsearch的更新十分活跃,截止目前已经到了8.x版本。而spring data elasticsearch3.x所对应的es版本还是6.8.x所以今天我们来讲解与spring-data-elasticsearch3.x有较大变化的spring data elasticsearch4.2.x版本如何整合到springboot一些基础的概念性内容本文就不再重复讲解,不了解的可以查看之前的文章spri原创 2022-07-02 21:41:38 · 2017 阅读 · 0 评论 -
spring data elasticsearch:启动项目时自动创建索引
在springboot整合spring data elasticsearch项目中,当索引数量较多,mapping结构较为复杂时,我们常常希望启动项目时能够自动创建索引及mapping,这样就不用再到各个环境中创建索引了所以今天咱们就来看看如何自动创建索引我们已经在实体类中声明了索引数据结构了,只需要识别有注解的实体类,然后调用的和方法即可创建索引及mapping1、因为要调用ElasticsearchRestTemplate,所以要提前声明其bean,这个我们在之前的文章中已经讲解过,有需要的同学可以参考原创 2022-07-02 19:40:10 · 6230 阅读 · 2 评论 -
Elastic实战:spring-data-elasticsearch聚合查询指南|spring-data-elasticsearch实现各类聚合
0.引言elasticsearch支持各种类型的聚合查询,给我们做数据统计、数据分析时提供了强大的处理能力,但是作为java开发者,如何在java client中实现这些聚合呢?我们知道spring-data-elasticsearch提供了针对整合spring的es java client,但是在elastic、spring-data官方文档中都没有详细说明聚合查询在java client中如何实现。所以本期,我们的目标就是一篇将这些聚合操作一网打尽!为了更好的将这些聚合讲解清楚,我们结合es官方原创 2022-05-31 14:09:29 · 5841 阅读 · 4 评论 -
Elastic实战:彻底解决spring-data-elasticsearch日期、时间类型数据读取报错问题
0. 引言在使用spring-data-elasticsearch读取es中时间类型的数据时出现了日期转换报错,不少初学者会在这里困惑很久,所以今天我们专门来解读该问题的几种解决方案。1. 问题分析该问题的报错形式一般是:Failed to convert from type [java.lang.String] to type [java.util.Date] for value '2022-03-15T14:31:55+08:00'; nested exception is java.lang原创 2022-05-28 00:36:15 · 6853 阅读 · 1 评论 -
Elastic实战:彻底解决spring-data-elasticsearch查询结果size大于0但显示为空问题
0. 引言我们在使用spring-data-elasticsearch,可能会出现查询结果为null,但返回的数据size是大于0的。或者某一部分字段有值,某一部分字段为null其结果如下图所示,那么这个问题是怎么产生的呢?今天我们就来详细解析1. 问题分析因为我们使用的是spring-data-elasticsearch,在实体类中已经用@Field注解声明了实体类与es索引mapping之间的映射关系,但是从查询结果来看,数据是已经查询出来了,不然size也不会大于0.那么问题就在于实体类原创 2022-05-27 21:54:55 · 2080 阅读 · 0 评论 -
spring data elasticsearch:从零搭建springboot整合spring data elasticsearch3.x环境
spring-data系列为众多中间件、数据库的操作提供了极其方便的API,对于elasticsearch也不例外,spring-data-elasticsearch不仅为我们提供了现成的CRUD接口,也提供了简便的各类java client的整合方案所以今天我们就来讲解,如果在springboot项目中整合spring-data-elasticsearch在真正开始搭建之前,我们需要了解我们的运行环境,以防止大家因为环境的问题产生出各类不易排查的错误或冲突首先要知道spring,spring-data-e原创 2022-07-02 19:06:11 · 3405 阅读 · 0 评论