/ / Connettiti a HTTPS esterno Elasticsearch con Java Client - java, ssl, elasticsearch, https

Connessione a HTTPS Elasticsearch esterno con client Java: java, ssl, elasticsearch, https

Poiché vorrei utilizzare l'API Java di Elasticsearch, sto cercando di connettermi al server REST esterno di Elasticsearch utilizzando Java TransportClient, l'URL che devo chiamare è simile a:

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

Ovviamente mi sono inizialmente fidato della certificazione fornita da ssl-sicuro-host usando il keytool e generato il keystore.jks.

Non ho altre informazioni sull'indice, i nodi, ecc. Di elasticsearch, ho solo l 'URL sopra.

Questo è il TransportClient che sto scrivendo per stabilire una connessione:

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", ?????));

Potrebbe essere possibile stabilire una connessione in altro modo o devo chiedere al mio provider ulteriori informazioni su ospite, porta, eccetera?

Oppure, devo dimettermi per farlo implementando un semplice client REST per interrogare l'indice di Elasticsearch che altre persone mi forniscono?

Potrebbe essere possibile che esista un server HTTP Apache davanti ai nodi elasticsearch?

Grazie mille in anticipo :)

risposte:

0 per risposta № 1

È possibile utilizzare la libreria JEST. È un client HTTP per ElasticSearch. Quindi puoi usarlo al posto del client di trasporto fornito da Elasticsearch

controlla questo link: https://github.com/searchbox-io/Jest