【ES整合】Springboot 3.x 整合 elasticsearch 8.x
在Spring Boot 3.x中整合Elasticsearch 8.x,你可以使用Spring Data Elasticsearch。以下是整合的步骤和示例配置:
- 添加依赖到你的
pom.xml
:
<dependencies>
<!-- Spring Data Elasticsearch -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-elasticsearch</artifactId>
</dependency>
<!-- Elasticsearch客户端 -->
<dependency>
<groupId>co.elastic.clients</groupId>
<artifactId>elasticsearch-java</artifactId>
<version>8.1.0</version>
</dependency>
</dependencies>
- 配置
application.properties
或application.yml
:
spring.data.elasticsearch.client.reactive.endpoints=http://localhost:9200
spring.elasticsearch.rest.uris=http://localhost:9200
- 创建一个实体类来映射Elasticsearch文档:
@Document(indexName = "your_index")
public class YourEntity {
@Id
private String id;
// 其他属性
}
- 创建一个Repository接口:
public interface YourEntityRepository extends ElasticsearchRepository<YourEntity, String> {
// 自定义查询方法
}
- 使用Repository进行操作:
@Service
public class YourService {
private final YourEntityRepository repository;
public YourService(YourEntityRepository repository) {
this.repository = repository;
}
public YourEntity saveEntity(YourEntity entity) {
return repository.save(entity);
}
public List<YourEntity> searchByName(String name) {
// 使用Elasticsearch查询构建器
return repository.search(query -> query.bool(b -> b.must(
QueryBuilders.matchQuery("name", name)))).getContent();
}
}
确保Elasticsearch服务器正在运行,并且你的Spring Boot应用程序配置了正确的端点。上述代码提供了一个简单的例子,展示了如何在Spring Boot 3.x应用程序中整合Elasticsearch 8.x。
评论已关闭