elasticsearch集成springboot
时间: 2023-09-08 21:14:21 浏览: 90
Elasticsearch是一种基于Lucene的分布式搜索引擎,它能够快速地存储、搜索和分析大量的数据。Spring Boot是一个基于Spring框架的快速开发框架,它提供了很多方便的特性,可以帮助我们快速地构建应用程序。
在Spring Boot中集成Elasticsearch非常简单,我们只需要添加相应的依赖以及配置即可。
1. 添加依赖
首先,我们需要在pom.xml文件中添加Elasticsearch的依赖:
```xml
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-high-level-client</artifactId>
<version>7.10.2</version>
</dependency>
```
2. 配置Elasticsearch连接
接下来,我们需要配置Elasticsearch连接信息,在application.properties文件中添加以下配置:
```properties
spring.elasticsearch.rest.uris=http://localhost:9200
```
这里的配置指定了Elasticsearch的地址和端口号。
3. 创建Elasticsearch客户端
在Spring Boot中,我们可以通过自动配置来创建Elasticsearch客户端。我们只需要在代码中注入RestHighLevelClient对象即可使用。
```java
@Configuration
public class ElasticsearchConfig {
@Bean
public RestHighLevelClient elasticsearchClient() {
return new RestHighLevelClient(
RestClient.builder(
new HttpHost("localhost", 9200, "http")));
}
}
```
这里我们通过@Bean注解将RestHighLevelClient对象注入到Spring容器中。
4. 使用Elasticsearch
现在我们已经配置好了Elasticsearch客户端,可以开始使用它来操作Elasticsearch了。以下是一个简单的示例:
```java
@RestController
public class HelloController {
@Autowired
private RestHighLevelClient elasticsearchClient;
@GetMapping("/hello")
public String hello() throws IOException {
SearchRequest searchRequest = new SearchRequest("my_index");
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
searchSourceBuilder.query(QueryBuilders.matchQuery("name", "John"));
searchRequest.source(searchSourceBuilder);
SearchResponse searchResponse = elasticsearchClient.search(searchRequest, RequestOptions.DEFAULT);
return searchResponse.toString();
}
}
```
在这个示例中,我们创建了一个SearchRequest对象,并设置了查询条件。然后将这个对象传递给elasticsearchClient.search方法来执行查询,并返回SearchResponse对象。
以上就是在Spring Boot中集成Elasticsearch的简单示例。当然,实际使用中还有很多细节需要注意。
阅读全文