springboot集成elasticsearch7
时间: 2023-04-27 14:00:25 浏览: 134
Spring Boot集成Elasticsearch 7需要进行以下步骤:
1. 添加Elasticsearch依赖
在pom.xml文件中添加以下依赖:
```
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-high-level-client</artifactId>
<version>7.0.0</version>
</dependency>
```
2. 创建Elasticsearch配置文件
在application.yml或application.properties文件中添加以下配置:
```
spring.data.elasticsearch.cluster-nodes: localhost:9200
spring.data.elasticsearch.cluster-name: elasticsearch
```
其中,`spring.data.elasticsearch.cluster-nodes`指定Elasticsearch的主机名和端口号,`spring.data.elasticsearch.cluster-name`指定集群名称。
3. 创建Elasticsearch客户端
可以使用以下代码创建Elasticsearch客户端:
```
@Configuration
public class ElasticSearchConfig {
@Bean
public RestHighLevelClient restHighLevelClient() {
RestClientBuilder builder = RestClient.builder(new HttpHost("localhost", 9200, "http"));
RestHighLevelClient client = new RestHighLevelClient(builder);
return client;
}
}
```
4. 创建Elasticsearch存储库
可以使用Spring Data Elasticsearch来创建Elasticsearch存储库。在创建存储库时,需要继承`ElasticsearchRepository`接口并指定实体类和实体类的ID类型,例如:
```
@Repository
public interface BookRepository extends ElasticsearchRepository<Book, Long> {
}
```
其中,`Book`是实体类,`Long`是实体类的ID类型。
5. 在应用程序中使用Elasticsearch存储库
现在可以在应用程序中使用Elasticsearch存储库来执行CRUD操作,例如:
```
@Service
public class BookService {
@Autowired
private BookRepository bookRepository;
public Book save(Book book) {
return bookRepository.save(book);
}
public void delete(Book book) {
bookRepository.delete(book);
}
public Optional<Book> findById(Long id) {
return bookRepository.findById(id);
}
public Iterable<Book> findAll() {
return bookRepository.findAll();
}
// 其他自定义方法
}
```
以上就是Spring Boot集成Elasticsearch 7的基本步骤。当然,在实际开发中,还需要根据具体需求进行一些配置和定制化。
阅读全文