Elasticsearch-es7.6整合springBoot

一、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;

/**
 * Elasticsearch配置类-高级客户端
 */
@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;

    // 将方法的返回结果交给spring管理
    @Bean
    public RestHighLevelClient restHighLevelClient(){
    
    

        //开始设置用户名和密码
        CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
        credentialsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(userNmae, password));
        // 主机ip和端口号以及协议
        RestHighLevelClient restHighLevelClient = new RestHighLevelClient(RestClient.builder(
                new HttpHost(hostname, port, scheme))
                .setHttpClientConfigCallback(f->f.setDefaultCredentialsProvider(credentialsProvider)));

        return restHighLevelClient;
    }

}

猜你喜欢

转载自blog.csdn.net/qq407995680/article/details/131807347