springboot2.6.X整合elasticsearch
时间: 2023-09-04 08:12:48 浏览: 269
在Spring Boot 2.6.x中,可以使用Spring Data Elasticsearch来整合Elasticsearch。Spring Data Elasticsearch提供了一组用于构建Elasticsearch应用程序的API,并且可以轻松地与Spring Boot集成。下面是整合步骤:
1. 添加Spring Data Elasticsearch依赖:
```
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-elasticsearch</artifactId>
</dependency>
```
2. 配置Elasticsearch连接信息:
在application.properties中添加以下配置:
```
spring.data.elasticsearch.cluster-name=elasticsearch
spring.data.elasticsearch.cluster-nodes=localhost:9300
```
其中,cluster-name为Elasticsearch集群名称,cluster-nodes为Elasticsearch节点地址。
3. 创建Elasticsearch实体类:
```
@Document(indexName = "user", type = "_doc")
public class User {
@Id
private String id;
private String name;
private int age;
// getters and setters
}
```
其中,@Document注解用于指定索引名称和类型,@Id注解用于指定文档ID。
4. 创建Elasticsearch仓库类:
```
@Repository
public interface UserRepository extends ElasticsearchRepository<User, String> {
}
```
其中,UserRepository继承自ElasticsearchRepository,可以直接使用Spring Data Elasticsearch提供的方法进行数据操作。
5. 在Service中使用Elasticsearch仓库类:
```
@Service
public class UserService {
@Autowired
private UserRepository userRepository;
public void save(User user) {
userRepository.save(user);
}
public User findById(String id) {
return userRepository.findById(id).orElse(null);
}
public void deleteById(String id) {
userRepository.deleteById(id);
}
public List<User> findAll() {
return (List<User>) userRepository.findAll();
}
}
```
其中,save、findById、deleteById、findAll方法都是由ElasticsearchRepository提供的。
至此,Spring Boot 2.6.x整合Elasticsearch的步骤就完成了。通过使用Spring Data Elasticsearch,我们可以轻松地进行CRUD操作。
阅读全文