- elasticsearch7以上版本需要springboot2.0以上版本支持
- elasticsearch官方在8版本以后放弃
TransportClient
- sprinboot2.3.4配置elasticsearch7.6.2
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.4.RELEASE</version>
</parent
<!--ElasticSearch-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-elasticsearch</artifactId>
</dependency>
<!--注意这个包: 不导入无法使用ElasticsearchTemplate-->
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>transport</artifactId>
<version>7.6.2</version>
</dependency>
- 找不到ElasticsearchTemplate类型bean的解决方案 导入该包
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>transport</artifactId>
<version>7.6.2</version>
</dependency>
- 如果还是无法找到ElasticsearchTemplate 备用配置
@Bean
public ElasticsearchTemplate elasticsearchTemplate() {
Settings settings = Settings.builder().put("cluster.name", "ES-Cluster").build();
TransportClient client = new PreBuiltTransportClient(settings);
try {
client.addTransportAddress(new TransportAddress(InetAddress.getByName("127.0.0.1"), 9301));
client.addTransportAddress(new TransportAddress(InetAddress.getByName("127.0.0.1"), 9302));
client.addTransportAddress(new TransportAddress(InetAddress.getByName("127.0.0.1"), 9303));
return new ElasticsearchTemplate(client);
} catch (UnknownHostException e) {
e.printStackTrace();
}
return null;
}