springboot整合elasticsearch4.3.6
时间: 2023-10-30 10:07:56 浏览: 88
1. 添加依赖
在pom.xml文件中添加以下依赖:
```
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-elasticsearch</artifactId>
</dependency>
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-high-level-client</artifactId>
<version>7.10.2</version>
</dependency>
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-client</artifactId>
<version>7.10.2</version>
</dependency>
```
2. 配置Elasticsearch
在application.yml中添加以下配置:
```
spring:
elasticsearch:
rest:
uris: http://localhost:9200
username: elastic
password: changeme
```
其中,rest.uris指定Elasticsearch的地址,username和password为Elasticsearch的用户名和密码。
3. 创建ElasticsearchTemplate
在Spring Boot的配置类中创建ElasticsearchTemplate bean:
```
@Configuration
public class ElasticsearchConfig {
@Autowired
private RestHighLevelClient restHighLevelClient;
@Bean
public ElasticsearchTemplate elasticsearchTemplate() {
return new ElasticsearchTemplate(restHighLevelClient);
}
}
```
4. 使用ElasticsearchTemplate进行操作
在需要使用Elasticsearch的地方注入ElasticsearchTemplate并使用其提供的方法进行操作,例如:
```
@Autowired
private ElasticsearchTemplate elasticsearchTemplate;
public void indexDocument(String index, String id, String jsonString) {
IndexQuery indexQuery = new IndexQueryBuilder()
.withIndexName(index)
.withId(id)
.withSource(jsonString)
.build();
elasticsearchTemplate.index(indexQuery);
}
```
其中,IndexQuery用于指定索引、文档ID和文档内容,IndexQueryBuilder用于构建IndexQuery。这里的操作是将文档索引到Elasticsearch中。
总结
通过以上步骤,我们成功地将Elasticsearch整合到了Spring Boot中,并使用ElasticsearchTemplate进行了操作。在实际应用中,我们可以根据业务需求进行更加复杂的操作,例如搜索、聚合等。
阅读全文