文章目录
- 一、Elasticsearch 简介
- 二、Spring Boot 整合 Elasticsearch 的准备工作
-
- 1. 安装 Elasticsearch
- 2. 创建 Spring Boot 项目
- 3. 添加 Maven 依赖
- 三、配置 Elasticsearch 连接
- 四、定义实体类和仓库接口
-
- 1. 定义实体类
- 2. 定义仓库接口
- 五、实现业务逻辑和控制器
-
- 1. 实现业务逻辑
- 2. 创建控制器
- 六、测试搜索功能
-
- 1. 插入测试数据
- 2. 编写搜索逻辑
- 3. 添加搜索端点
- 4. 测试搜索功能
- 七、总结
一、Elasticsearch 简介
Elasticsearch 是一个基于 Lucene 的开源搜索和分析引擎,它提供了一个分布式多用户能力的全文搜索引擎,支持 RESTful web 接口。Elasticsearch 以其强大的全文搜索能力、实时分析功能和可扩展性,成为了许多企业和开发者的首选。
二、Spring Boot 整合 Elasticsearch 的准备工作
在开始整合之前,我们需要做一些准备工作:
1. 安装 Elasticsearch
• 可以从 Elasticsearch 的官方网站下载对应版本的安装包,并按照官方文档进行安装和配置。
• 确保 Elasticsearch 服务已经启动,并可以通过浏览器访问http://localhost:9200来验证。
2. 创建 Spring Boot 项目
• 可以使用 Spring Initializr 网站快速生成一个 Spring Boot 项目。
• 在项目生成过程中,记得勾选Spring Data Elasticsearch依赖。
3. 添加 Maven 依赖
• 在项目的pom.xml文件中添加 Spring Data Elasticsearch 的相关依赖。例如:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-elasticsearch</artifactId>
<version>2.5.1</version> <!-- 请根据实际需求选择合适的版本 -->
</dependency>
三、配置 Elasticsearch 连接
在application.properties或application.yml文件中,配置 Elasticsearch 的连接信息:
# application.properties 示例
spring.elasticsearch.rest.uris=http://localhost:9200
或者:
# application.yml 示例
spring:
elasticsearch:
rest:
uris: http://localhost:9200
四、定义实体类和仓库接口
1. 定义实体类
• 使用@Document注解标记实体类,并指定索引名称和文档类型。
• 使用@Id注解标记实体类的主键字段。
import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;
@Document(indexName = "product")
public class Product {
@Id
private String id;
private String name;
private String description;
private double price;
// getters and setters
}
2. 定义仓库接口
• 继承ElasticsearchRepository接口,实现数据的 CRUD 操作。
import org.springframework