该博文主要描述springboot 集成ES7.3.0版本的项目构建,以及简单的数据同步功能实现。废话不多说直接上干货!
1. 初始化springboot项目,引入elastic search 7.3.0的pom依赖。
<!--elasticsearch相关依赖-->
<dependency>
<groupId>org.elasticsearch</groupId>
<artifactId>elasticsearch</artifactId>
<version>7.3.0</version>
</dependency>
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-client</artifactId>
<version>7.3.0</version>
</dependency>
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-high-level-client</artifactId>
<version>7.3.0</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.55</version>
<scope>compile</scope>
</dependency>
2. 完善ES的相关核心配置
######################ES集群库配置######################
elasticsearch:
ip: 127.0.0.1
port: 9200
clusterName: elasticsearch_lgh
#username: elastic
#password: search
3. 初始化ES的核心配置类
@Configuration
public class ElasticSearchConfig {
@Value("${elasticsearch.ip}")
private String ip;
@Value("${elasticsearch.port}")
private int port;
@Bean
public RestClient getRestClient(){
return getRestHighLevelClient().getLowLevelClient();
}
@Bean
public RestHighLevelClient getRestHighLevelClient() {
List<HttpHost> hosts = new ArrayList<>();
for(String s : ip.split(",")){
hosts.add(new HttpHost(s, port, "http"));
}
RestClientBuilder builder = RestClient.builder(hosts.toArray(new HttpHost[hosts.size()]))
.setHttpClientConfigCallback(httpClientBuilder -> httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider));
return new RestHighLevelClient(builder);
}
}
这样springboot项目就成功集成了ES,正常启动项目即可,下一篇为大家奉上如何使用代码完成读取数据库的数据写到ES当中。
如有披露或问题欢迎留言或者入群探讨