因为最近做的功能是关于舆情的,所以数据量比较大的,本来打算用MySQL做时间分表来做,但是经过一段时间的测试,发现数据量太大,用时间分表不能满足性能的要求,所以决定将数据存储改为ES,但是短时间内改底层框架又不是一个小工程,时间上不允许,所以找到了一个很合适的框架,他跟mybatis-plus非常的像,操作起来也差不多
介绍
官网地址:Easy-Es
只要用过mybatis-plus的,就可以很轻松的上手easy-es,他们的操作几乎一模一样,而且官网的介绍也都是对比mybatis-plus来介绍的
引入依赖
目前官方最近的稳定版本是1.1.1,引入之前需要先将Springboot中自带的elasticsearch-rest-high-level-client和elasticsearch排除掉,原因官网上也有提到,是因为easy-es所示配的es的jar为7.14.0,所以如果springboot的中自带的es版本过高或者过低的话回不兼容,所以要换成7.14.0的版本的jar
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><exclusions><exclusion><groupId>org.elasticsearch.client</groupId><artifactId>elasticsearch-rest-high-level-client</artifactId></exclusion><exclusion><groupId>org.elasticsearch</groupId><artifactId>elasticsearch</artifactId></exclusion></exclusions></dependency><dependency><groupId>org.elasticsearch.client</groupId><artifactId>elasticsearch-rest-high-level-client</artifactId><version>7.14.0</version></dependency><dependency><groupId>org.elasticsearch</groupId><artifactId>elasticsearch</artifactId><version>7.14.0</version></dependency><dependency><groupId>cn.easy-es</groupId><artifactId>easy-es-boot-starter</artifactId><version>1.1.1</version></dependency>
问题
在引入依赖的时候我们需要建es的版本改成7.14.0,但是在maven仓库中我们发现7.14.0的版本的jar存在漏洞,目前来说还没联系上官方得到一个有效的解决方案,这个问题有没有大佬知道?指点一二?我认为这个社区还挺活跃的这种问题应该不会出现,后续联系上官方后我会更新在这里...
用法
其实具体的用法在官方网站上已经有了很详细的教程,我也只是看文档实践一下,该说不说用起来确实方便,尤其是我们只需要创建好实体类在启动的时候框架会帮我们自动创建好Index
使用过mybatis-plus上手easy-es非常顺手,我们要替换的东西就是实体中的注解改成easy-es支持的IndexName,IndexId,IndexField,然后mapper层本来继承自BaseMapper改为继承自BaseEsMapper,然后其他的用法就极为相似了
其增删改主要是更具提供的条件构造器实现的,其用法与mybatis-plus一样,具体用法可以去看官方文档,介绍的非常详细,以下是对比mysql操作对照表,可以说mysql支持的他基本都支持
总结
easy-es这个框架总得来说对于我们开发还是非常不错的,能节省不少时间以及学习成本,现在唯一的问题就是我还没搞清楚依赖7.14.0版本的问题,希望能早点解决这个问题,有知道的大佬请在品论区指点一二