Spring dataasticsearch 6.8.5 как настроить порт HTTP - PullRequest
0 голосов
/ 07 февраля 2020

Я использую Elasticsearch версии 6.8.5, где 9201 - это порт HTTP, а 9301 - это порт узла кластера. В моем проекте я использую пружинную загрузку (spring-boot-starter-data -asticsearch). В файле 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 (не порт по умолчанию)?

1 Ответ

0 голосов
/ 07 февраля 2020

Вы должны использовать следующий код:

@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();
}

Редактировать:

Проверить полную конфигурацию из документов при использовании Пользовательская конфигурация, подобная этой, я бы рекомендовал , а не , чтобы Spring Boot попытался настроить Spring Data Elasticsearch. Вы можете сделать это, изменив аннотацию в классе приложения на

@SpringBootApplication(exclude = ElasticsearchDataAutoConfiguration.class)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...