Elasticsearch集成之(Spring Data Elasticsearch)
1、Spring Data 框架介绍
Spring Data 是一个用于简化数据库、非关系型数据库、索引库访问,并支持云服务的开源框架。其主要目标是使得对数据的访问变得方便快捷,并支持 map-reduce 框架和云计算数据服务。 Spring Data 可以极大的简化 JPA(Elasticsearch…)的写法,可以在几乎不用写实现的情况下,实现对数据的访问和操作。除了 CRUD 外,还包括如分页、排序等一些常用的功能。
Spring Data 的官网:https://spring.io/projects/spring-data
2、Spring Data Elasticsearch 介绍
Spring Data Elasticsearch 基于 spring data API 简化 Elasticsearch 操作,将原始操作Elasticsearch 的客户端 API 进行封装 。Spring Data Elasticsearch 项目提供了与 Elasticsearch 搜索引擎的集成。Spring Data Elasticsearch的关键功能领域是以POJO为中心的模型,用于与Elastichsearch文档进行交互,并轻松编写存储库样式的数据访问层。
官方网站:https://spring.io/projects/spring-data-elasticsearch/
3、Spring Data Elasticsearch 版本对比
目前最新 springboot 对应 Elasticsearch7.17.8,Spring boot2.3.x 一般可以兼容 Elasticsearch7.x
4、框架集成
4.1、创建Maven项目
4.2、修改 pom 文件,增加依赖关系
4.3、增加配置文件
4.4、SpringBoot 主程序
4.5、数据实体类
4.6、配置类
ElasticsearchRestTemplate 是 spring-data-elasticsearch 项目中的一个类,和其他 spring 项目中的 template类似。
在新版的 spring-data-elasticsearch 中,ElasticsearchRestTemplate 代替了原来的ElasticsearchTemplate。
原因是 ElasticsearchTemplate 基于 TransportClient,TransportClient 即将在 8.x 以后的版本中移除。所以,我们推荐使用 ElasticsearchRestTemplate。
ElasticsearchRestTemplate 基 于 RestHighLevelClient 客 户 端 的 。 需 要 自 定 义 配 置 类 , 继 承
AbstractElasticsearchConfiguration,并实现 elasticsearchClient()抽象方法,创建 RestHighLevelClient 对象。
4.7、DAO 数据访问对象
4.8、实体类映射操作
4.9、索引操作
4.10、文档操作
4.11、文档搜索
5、源码下载
https://gitee.com/micai-code/es7.8.0-spring-data-elasticsearch.git