一、es基础理解
二、es的maven配置
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-high-level-client</artifactId>
<version>7.6.2</version>
</dependency>
三、es客户端配置
1、application.yml
#自定义的Elasticsearch配置
es:
hostname: es.imopei.cn
port: 9200
scheme: http
userNmae: elastic
password: elastic
2、RestHighLevelClient配置
import org.apache.http.HttpHost;
import org.apache.http.auth.AuthScope;
import org.apache.http.auth.UsernamePasswordCredentials;
import org.apache.http.client.CredentialsProvider;
import org.apache.http.impl.client.BasicCredentialsProvider;
import org.elasticsearch.client.RestClient;
import org.elasticsearch.client.RestHighLevelClient;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class RestElasticSearchClientConfig {
@Value("${es.hostname}")
public String hostname;
@Value("${es.port}")
public int port;
@Value("${es.scheme}")
public String scheme;
@Value("${es.userNmae}")
public String userNmae;
@Value("${es.password}")
public String password;
@Bean
public RestHighLevelClient restHighLevelClient(){
CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
credentialsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(userNmae, password));
RestHighLevelClient restHighLevelClient = new RestHighLevelClient(RestClient.builder(
new HttpHost(hostname, port, scheme))
.setHttpClientConfigCallback(f->f.setDefaultCredentialsProvider(credentialsProvider)));
return restHighLevelClient;
}
}