本文演示SpringBoot整合Elasticsearch。
一、项目搭建
新建一个SpringBoot项目,引入依赖:
<properties>
<java.version>1.8</java.version>
<elasticsearch.version>7.11.1</elasticsearch.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-high-level-client</artifactId>
<version>${elasticsearch.version}</version>
</dependency>
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-client</artifactId>
<version>${elasticsearch.version}</version>
</dependency>
<dependency>
<groupId>org.elasticsearch</groupId>
<artifactId>elasticsearch</artifactId>
<version>${elasticsearch.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>
</dependencies>
二、配置文件
配置项目端口号,添加Elasticsearch简要配置信息:
server:
port: 8989
elasticsearch:
address: localhost:9200
三、数据准备
使用Kibana可视化工具,在索引mytest中插入记录:
四、编码实现
①编写Controller类及测试请求方法:
@RestController
@RequestMapping("/")
public class ESController {
@Resource
private RestHighLevelClient restHighLevelClient;
/**
* 根据id查询
* @return
*/
@PostMapping("queryById")
public String queryById(String indexName, String id) throws IOException {
GetRequest getRequest = new GetRequest(indexName, id);
GetResponse getResponse = restHighLevelClient.get(getRequest, RequestOptions.DEFAULT);
return getResponse.getSourceAsString();
}
}
②启动类
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
③测试请求及响应:
测试验证OK。