springboot 2.3.0以后版本不支持自动注入JestClient,下图我们在yml文件中配置JestClient时会出现划掉的线提示。我们采取手动配置的方式
在测试类中手动创建JestClient
public JestClient getJestCline(){
JestClientFactory factory = new JestClientFactory();
factory.setHttpClientConfig(new HttpClientConfig
.Builder("http://192.168.1.6:9200")
.multiThreaded(true)
.build());
return factory.getObject();
}
然后在测试方法中调用getJestClient()方法就可以
成功访问:
另外,一开始不管怎么导入依赖,始终没有JestClient这个接口,不管怎么导入依赖,JestClient始终是红色的,也就是没能导入jest工具包,这时候就算手动创建JestClient也还是报错,不知道是不是版本的问题,后来降低版本,用5.3.3这个版本依赖:
<dependency>
<groupId>io.searchbox</groupId>
<artifactId>jest</artifactId>
<version>5.3.3</version>
</dependency>
才成功导入import io.searchbox.client.JestClient;
Springboot默认支持两种技术来和ES交互
1、Jest (默认不生效,需要导入jest的工具(io.searchbox.client.JestClient)
2、SpringData ElasticSearch
1)、Client节点信息clusterNodes,clusterName
2)、ElasticsearchTemplate操作es
3)、编写一个ElasticsearchRepository的子接口来操作ES