Как настроить elasticsearch 5 TransportClient.
Теперь TransportClient является абстрактным классом. Я нашел только PreBuiltTransportClient, это новый способ настройки клиента elasticsearch?
Как настроить elasticsearch 5 TransportClient.
Теперь TransportClient является абстрактным классом. Я нашел только PreBuiltTransportClient, это новый способ настройки клиента elasticsearch?
Да, вы можете найти это в официальная документация для 5.0, а также
Settings settings = Settings.builder()
.put("cluster.name", "ElasticSearchClusterName");
TransportClient client = new PreBuiltTransportClient(settings)
.addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("host1"), 9300))
.addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("host2"), 9300));
Ничего не стоит, что PreBuiltTransportClient
это предварительно настроен со следующими модулями:
Также убедитесь, что у вас есть зависимость от артефакта transport
:
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>transport</artifactId>
<version>5.0.0-beta1</version>
</dependency>
Сначала загрузите соответствующий файл jar, сохраните его в папке lib и добавьте их в путь сборки. Вы можете следовать приведенному ниже коду, чтобы настроить его:
Settings settings = Settings.builder()
.put("cluster.name", "ElasticSearchClusterName")
//.put("client.transport.sniff", true)
//.put("shield.user", elasticUserName+":"+elasticPassword)
.build();
TransportClient client = new PreBuiltTransportClient(settings)
.addTransportAddress(new InetSocketTransportAddress(elasticHostOne, elasticTransportPort))
.addTransportAddress(new InetSocketTransportAddress(elasticHostTwo, elasticTransportPort))
.addTransportAddress(new InetSocketTransportAddress(elasticHostThree, elasticTransportPort));