spring boot 整合elasticSearch 新版
时间: 2023-10-10 20:05:10 浏览: 82
1. 引入依赖
在 pom.xml 文件中添加以下依赖:
```xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-elasticsearch</artifactId>
</dependency>
```
2. 配置数据源
在 application.properties 或 application.yml 文件中添加以下配置:
```yaml
spring.data.elasticsearch.cluster-nodes=127.0.0.1:9300
spring.data.elasticsearch.cluster-name=my-elasticsearch-cluster
```
3. 创建实体类
创建一个与 Elasticsearch 中的索引(index)对应的实体类,例如:
```java
@Document(indexName = "book", type = "novel")
public class Novel {
@Id
private String id;
private String name;
private String author;
private String description;
// getter 和 setter
}
```
其中,@Document 注解用于指定索引的名称和类型,@Id 注解用于指定文档的唯一标识。
4. 创建仓库类
创建一个继承自 ElasticsearchRepository 接口的仓库类,例如:
```java
public interface NovelRepository extends ElasticsearchRepository<Novel, String> {
List<Novel> findByName(String name);
}
```
其中,ElasticsearchRepository 是 Spring Data Elasticsearch 提供的默认仓库接口,提供了基本的 CRUD 操作,也可以自定义查询方法。
5. 编写查询方法
在仓库类中编写自定义查询方法,例如:
```java
List<Novel> findByName(String name);
```
6. 启动应用程序
启动应用程序后,即可使用 Spring Data Elasticsearch 提供的各种方法对 Elasticsearch 中的数据进行操作,例如:
```java
@Autowired
private NovelRepository novelRepository;
public void saveNovel(Novel novel) {
novelRepository.save(novel);
}
public List<Novel> findNovelByName(String name) {
return novelRepository.findByName(name);
}
```
以上就是 Spring Boot 整合 Elasticsearch 的基本步骤。需要注意的是,Elasticsearch 的版本和 Spring Data Elasticsearch 的版本需要匹配,否则可能会出现不兼容的情况。
阅读全文