該博文主要描述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當中。
如有披露或問題歡迎留言或者入羣探討