云搜索服务 CSS-通过Spring Boot接入Elasticsearch集群:通过Spring Boot接入HTTP集群

时间:2025-02-12 15:03:34

通过Spring Boot接入HTTP集群

该场景适用于连接非安全模式的集群或是安全模式+HTTP协议的集群。

配置文件:

1234
elasticsearch.url=host1:9200,host2:9200//非安全集群不用配置如下两行。elasticsearch.username=usernameelasticsearch.password=password
表1 参数说明

参数

描述

host

Elasticsearch集群的访问地址。

username

访问集群的用户名。

password

用户名对应的密码。

配置代码:

  • com.xxx为项目目录,例如com.company.project。
  • com.xxx.repository为仓库目录,通过extends org.springframework.data.elasticsearch.repository.ElasticsearchRepository进行具体定义。
 1 2 3 4 5 6 7 8 910111213141516171819202122232425262728293031323334353637383940414243
package com.xxx.configuration;import org.elasticsearch.client.RestHighLevelClient;import org.springframework.beans.factory.annotation.Value;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.ComponentScan;import org.springframework.context.annotation.Configuration;import org.springframework.data.elasticsearch.client.ClientConfiguration;import org.springframework.data.elasticsearch.client.RestClients;import org.springframework.data.elasticsearch.config.AbstractElasticsearchConfiguration;import org.springframework.data.elasticsearch.repository.config.EnableElasticsearchRepositories;@Configuration@EnableElasticsearchRepositories(basePackages = "com.xxx.repository")@ComponentScan(basePackages = "com.xxx")public class Config extends AbstractElasticsearchConfiguration {    @Value("${elasticsearch.url}")    public String elasticsearchUrl;    //非安全集群不用配置如下两个参数。    @Value("${elasticsearch.username}")    public String elasticsearchUsername;    @Value("${elasticsearch.password}")    public String elasticsearchPassword;    @Override    @Bean    public RestHighLevelClient elasticsearchClient() {        final ClientConfiguration clientConfiguration = ClientConfiguration.builder()            .connectedTo(StringHostParse(elasticsearchUrl))            //非安全集群无需配置withBasicAuth。            .withBasicAuth(elasticsearchUsername, elasticsearchPassword)            .build();        return RestClients.create(clientConfiguration).rest();    }    private String[] StringHostParse(String hostAndPorts) {        return hostAndPorts.split(",");    }}
support.huaweicloud.com/usermanual-css/css_01_0068.html