Spring boot 整合elastic search
时间: 2023-06-16 13:07:39 浏览: 113
springboot整合elasticsearch
Spring Boot 可以很方便地与 Elasticsearch 进行集成。下面是一个简单的步骤:
1. 添加 Elasticsearch 依赖
在 `pom.xml` 文件中添加 Elasticsearch 的 Maven 依赖:
```xml
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-high-level-client</artifactId>
<version>7.12.0</version>
</dependency>
```
2. 配置 Elasticsearch 连接
在 `application.properties` 文件中添加 Elasticsearch 的连接配置:
```properties
spring.elasticsearch.rest.uris=http://localhost:9200
```
3. 创建 Elasticsearch 客户端
使用 Spring Boot 的自动配置机制,可以很方便地创建 Elasticsearch 客户端:
```java
@Configuration
public class ElasticSearchConfig {
@Value("${spring.elasticsearch.rest.uris}")
private String esHost;
@Bean(destroyMethod = "close")
public RestHighLevelClient restHighLevelClient() {
return new RestHighLevelClient(RestClient.builder(HttpHost.create(esHost)));
}
}
```
4. 使用 Elasticsearch 客户端
现在,可以在需要使用 Elasticsearch 的地方注入 `RestHighLevelClient` 客户端:
```java
@Autowired
private RestHighLevelClient client;
```
然后,就可以使用 Elasticsearch 的 REST API 进行索引、搜索等操作了。例如:
```java
IndexRequest request = new IndexRequest("posts");
request.id("1");
String jsonString = "{" +
"\"user\":\"kimchy\"," +
"\"postDate\":\"2021-06-01\"," +
"\"message\":\"trying out Elasticsearch\"" +
"}";
request.source(jsonString, XContentType.JSON);
IndexResponse response = client.index(request, RequestOptions.DEFAULT);
```
阅读全文