/ / Conecte-se a HTTPS Elasticsearch externo com cliente Java - java, ssl, elasticsearch, https

Conecte-se ao HTTPS externo Elasticsearch com cliente Java - java, ssl, elasticsearch, https

Como eu gostaria de usar a API Java do Elasticsearch, estou tentando me conectar ao servidor REST externo do Elasticsearch usando o Java TransportClient, a URL que preciso chamar é semelhante a:

https://ssl-secure-host/their-index/their-type/_search

Obviamente, eu primeiro confiei na certificação fornecida por ssl-secure-host usando o keytool e gerou o keystore.jks.

Não tenho nenhuma outra informação sobre o índice do elasticsearch, nós, etc., tenho apenas a URL acima.

Este é o TransportClient que estou escrevendo para estabelecer uma conexão:

ImmutableSettings.Builder settings = ImmutableSettings.settingsBuilder()
.put("cluster.name", "elasticsearch")
.put("discovery.zen.ping.multicast.enabled", false)
.put("shield.user", "user:password")
.put("shield.ssl.truststore.path", "/Users/me/path/cert/keystore.jks")
.put("shield.ssl.truststore.password", "changeit")
.put("shield.transport.ssl", true);

TransportClient client = new TransportClient(settings)
.addTransportAddress(new InetSocketTransportAddress("ssl-secure-host", ?????));

Será possível estabelecer uma conexão de qualquer outra forma ou devo pedir ao meu provedor mais informações sobre o hospedeiro, porta, etc?

Ou terei que me resignar a fazer isso implementando um cliente REST simples para consultar o índice do Elasticsearch que outras pessoas me fornecem?

É possível que exista um servidor Apache HTTP na frente dos nós do elasticsearch?

Muito obrigado antecipadamente :)

Respostas:

0 para resposta № 1

Você pode usar a biblioteca JEST. É um cliente HTTP para ElasticSearch. Portanto, você pode usá-lo em vez do cliente de transporte fornecido pela Elasticsearch

verifique este link: https://github.com/searchbox-io/Jest