Elasticsearch 是一个基于 Lucene 的搜索引擎,它提供了全文搜索功能,并且具有高扩展性、高可用性的特点。Spring Boot 是一个快速开发、配置简单的框架,它简化了基于 Spring 应用的创建和部署过程。将 Elasticsearch 集成到 Spring Boot 应用中可以为我们的应用程序带来强大的搜索能力。本文将介绍如何使用 Easy-ES-Starter 来集成 Elasticsearch。
https://gitee.com/yjtzfywh/es-demo.git
为什么选择 Easy-ES-Starter?
Easy-ES-Starter 是一个简化 Elasticsearch 集成的 Spring Boot Starter,它基于 Spring Boot 的自动配置特性,使得 Elasticsearch 的集成变得非常简单。它提供了一些便捷的功能,比如自动配置、自定义 ID 类型等。
集成步骤
1. 添加依赖
首先,需要在项目的 pom.xml
文件中添加必要的依赖。以下是添加 Elasticsearch 高级 REST 客户端、Elasticsearch 核心库以及 Easy-ES-Starter 的示例:
<dependencies>
<!-- Elasticsearch 高级 REST 客户端 -->
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-high-level-client</artifactId>
<version>7.14.0</version>
<exclusions>
<exclusion>
<groupId>org.elasticsearch</groupId>
<artifactId>elasticsearch</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- Elasticsearch 核心库 -->
<dependency>
<groupId>org.elasticsearch</groupId>
<artifactId>elasticsearch</artifactId>
<version>7.14.0</version>
<exclusions>
<exclusion>
<groupId>org.hdrhistogram</groupId>
<artifactId>HdrHistogram</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- Easy-ES-Starter -->
<dependency>
<groupId>org.dromara.easy-es</groupId>
<artifactId>easy-es-boot-starter</artifactId>
<version>2.0.0-beta7</version>
<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>
</dependencies>
2. 配置 Elasticsearch
接下来,在 application.properties
或 application.yml
文件中配置 Elasticsearch 的连接信息:
easy-es:
banner: false
address: localhost:9200
username:
password:
global-config:
process_index_mode: manual # 手动挡模式
db-config:
id-type: customize
这里的配置包括 Elasticsearch 服务的地址、用户名、密码以及一些全局配置选项。
3. 创建配置类
使用 @Configuration
注解创建一个配置类,用于扫描 Elasticsearch 的 Mapper 类:
import org.dromara.easyes.starter.register.EsMapperScan;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
@Configuration
@ConfigurationProperties(value = "easy-es.enable")
@EsMapperScan("com.minos.demos.web.mapper")
public class EsMapperConfig {
}
这个类通过 @EsMapperScan
注解指定了要扫描的 Elasticsearch Mapper 所在的包路径。
4. 使用 Elasticsearch
现在,你的 Spring Boot 应用已经集成了 Elasticsearch,并且可以通过 Easy-ES-Starter 提供的 API 来操作 Elasticsearch 了。
结论
通过以上步骤,我们成功地将 Elasticsearch 集成到了 Spring Boot 应用中。Easy-ES-Starter 提供了一个简单而强大的方式,使得 Elasticsearch 的集成变得非常轻松。你可以利用它来为你的应用程序添加强大的搜索功能。
希望这篇博客能帮助你快速上手 Spring Boot 与 Elasticsearch 的集成。如果你有任何问题或建议,请在下方留言,我会尽快回复。祝你编程愉快!