springboot整合Elasticsearch
时间: 2023-12-19 11:06:42 浏览: 111
Spring Boot 整合 Elasticsearch 的步骤如下:
1. 引入 Elasticsearch 依赖
在 pom.xml 文件中添加以下依赖:
```
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-elasticsearch</artifactId>
</dependency>
```
2. 配置 Elasticsearch 连接
在 application.properties 文件中添加 Elasticsearch 配置项:
```
spring.data.elasticsearch.cluster-name=my-application
spring.data.elasticsearch.cluster-nodes=127.0.0.1:9300
```
其中 `cluster-name` 为 Elasticsearch 集群名称,`cluster-nodes` 为 Elasticsearch 服务器地址和端口号。
3. 创建 Elasticsearch 实体类
创建一个 Java 类,用于映射 Elasticsearch 中的文档。可以使用 `@Document` 注解指定索引和类型,使用 `@Id` 注解指定文档 ID,使用 `@Field` 注解指定字段名称和属性。
例如:
```
@Document(indexName = "blog", type = "article")
public class Article {
@Id
private String id;
@Field(type = FieldType.Text, analyzer = "ik_max_word")
private String title;
@Field(type = FieldType.Text, analyzer = "ik_max_word")
private String content;
// getter 和 setter 方法省略...
}
```
4. 创建 Elasticsearch Repository
创建一个接口,继承 `ElasticsearchRepository` 接口,用于操作 Elasticsearch 数据库。可以定义一些自定义的查询方法,也可以使用默认的 CRUD 方法。
例如:
```
public interface ArticleRepository extends ElasticsearchRepository<Article, String> {
List<Article> findByTitle(String title);
}
```
5. 使用 Elasticsearch Repository
在需要使用 Elasticsearch 的地方,注入 `ArticleRepository` 对象,即可操作 Elasticsearch 数据库。
例如:
```
@Service
public class ArticleService {
@Autowired
private ArticleRepository articleRepository;
public void save(Article article) {
articleRepository.save(article);
}
public List<Article> findByTitle(String title) {
return articleRepository.findByTitle(title);
}
}
```
以上就是 Spring Boot 整合 Elasticsearch 的基本步骤,希望能对你有帮助。
阅读全文