spring-boot - Spring Data Elasticsearch 6.8.5如何配置HTTP端口

标签 spring-boot elasticsearch spring-data-elasticsearch

我使用Elasticsearch版本6.8.5,其中9201是HTTP端口,而9301是群集节点的端口。
在我的项目中,我使用spring boot(spring-boot-starter-data-elasticsearch)。在application.properties文件中,我设置集群节点的端口:
spring.data.elasticsearch.cluster-nodes=localhost:9301
但是我不知道如何设置HTTP端口。所以当我开始我的项目时,我得到一个错误:

NoNodeAvailableException[None of the configured nodes are available: [{#transport#-1}{de81Kcj-QUqTRdA9HskFWg}{localhost}{localhost:9301}]];

我尝试使用高级REST客户端设置(https://docs.spring.io/spring-data/elasticsearch/docs/current/reference/html/#elasticsearch.clients.rest),但仍然无法使用:
@Configuration
public class ElasticsearchConfig {
    @Bean(destroyMethod = "close")
    public RestHighLevelClient restClient1() {
        final CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
        RestClientBuilder builder = RestClient.builder(new HttpHost("localhost", 9201));
        RestHighLevelClient client = new RestHighLevelClient(builder);
        return client;
    }
}

如何配置HTTP端口(不是默认端口)?

最佳答案

您应该使用以下代码:

@Bean
public RestHighLevelClient elasticsearchClient() {

    final ClientConfiguration clientConfiguration = ClientConfiguration.builder()
        .connectedTo("localhost:9201")
        // if you need basic authentication:
        .withBasicAuth("user", "password")
        .build();

    return RestClients.create(clientConfiguration).rest();
}

编辑:

检查完整的配置from the docs,当使用这样的自定义配置时,建议不要让Spring Boot尝试配置Spring Data Elasticsearch。您可以通过将应用程序类上的注释更改为
@SpringBootApplication(exclude = ElasticsearchDataAutoConfiguration.class)

关于spring-boot - Spring Data Elasticsearch 6.8.5如何配置HTTP端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60109201/

相关文章:

java - @Component Scan 无法在 Spring Boot 中跨 jar 和 war 使用 @Component

带通配符的 Elasticsearch 查询

elasticsearch - 搜索带有变音符号的字符串似乎不适用于Spring JPA ES

elasticsearch - 我们可以优先考虑 Elasticsearch 中搜索索引的顺序吗

javascript - 无法使用 Jquery、Ajax、JSP 将自动完成搜索结果放入 HTML 表格中

Spring boot多个gradle项目依赖管理->无法更改配置的依赖关系

java - 如何将@query jpa结果导出到.dat文件/

elasticsearch - Elasticsearch-计算子范围聚合

ElasticSearch:preserve_position_increments 不工作

java - 将 ElasticSearch 与 Spring Data 结合使用时自动生成数字 id