Estoy intentando conectarme de Java a ElasticSearch pero solo puedo conectarme a través de HTTP. No puedo usar el TransportClient
. ¿Hay un envoltorio de cliente Java alrededor de las API REST de ElasticSearch? Si es así, ¿cómo lo uso?Cliente HTTP de Java para ElasticSearch
Respuesta
Hola Hay un nuevo proyecto que se adapta a sus necesidades. Está basado en Java Rest API para Elasticsearch
¡Échale un vistazo! su nombre JEST
Un nuevo cliente java "oficial" basado en REST will be available comenzando con v5.0.0-alpha4.
Disculpe las ventajas, estoy seguro de que lo que escribió fue perfectamente válido en 2012, pero ahora hay varias implementaciones de código abierto. –
@BastianVoigt gracias por traer esto a mi atención. He actualizado mi respuesta para reflejar la situación más reciente. – imotov
thx para actualizar –
Acabamos de abrir el origen Flummi, un cliente HTTP/REST de Java para Elastic Search. Imita la API del cliente de transporte lo más cerca posible, lo que facilita el acceso al código existente. También proporciona un nivel de abstracción mejor que Jest, porque informa todos los errores con Excepciones. ¡Darle una oportunidad!
ejemplo de uso simple:
Flummi flummi = new Flummi("http://elasticsearch.base.url:9200");
SearchResponse searchResponse = flummi
.prepareSearch("products")
.setQuery(
QueryBuilders.termQuery("color", "yellow").build()
)
.execute();
System.out.println("Found "
+ searchResponse.getHits().getTotalHits()
+ " products");
searchResponse.getHits()
.stream().map(hit -> hit.getSource().get("name").getAsString())
.forEach(name -> System.out.println("Name: " + name));
Since version 5.6 del Elasticsearch SDK Java que proporciona una Java REST Client.
RestClient restClient = RestClient.builder(
new HttpHost("localhost", 9200, "http"),
new HttpHost("localhost", 9201, "http")).build();
// for the RestHighLevelClient
RestHighLevelClient client =
new RestHighLevelClient(restClient);
- 1. Cliente gráfico HTTP para Windows
- 2. elasticsearch C# /. Net recomendación del cliente
- 3. ¿Cuál es la mejor manera de verificar la conexión de un cliente a elasticsearch usando Java?
- 4. ¿Cliente de reposo para Java?
- 5. IU de Elasticsearch
- 6. cliente del servicio web java, agregando encabezados http
- 7. Cliente HTTP asíncrono con Netty
- 8. ¿La mejor biblioteca HTTP para Java?
- 9. cliente de prueba Django http autenticación básica para la solicitud
- 10. API de cliente Java REST para Android
- 11. Java Async Http clientes comparaciones
- 12. Ejemplo de cliente HTTP en win32
- 13. ¿Qué biblioteca C++ debo usar para implementar un cliente HTTP?
- 14. ElasticSearch Stemming
- 15. Elasticsearch actuaciones esperables
- 16. Estándar Java para comunicación cliente/servidor
- 17. Posible hacer push de cliente del lado HTTP?
- 18. HTTP 501 para java.lang.UnsupportedOperationException
- 19. Descomprimir la respuesta HTTP de GZIP (usando la aplicación api de cliente de jersey, java)
- 20. Mejor solución para Java HTTP push (mensajería)
- 21. Conexión Kerberos utilizando el cliente HTTP
- 22. Cliente Java NTP
- 23. Configurando el río MongoDB para Elasticsearch
- 24. ElasticSearch + Tire: buena estrategia para burlar ES
- 25. Java: Cliente SOAP simple
- 26. Aplicación de cliente Java opc
- 27. Autenticación HTTP "Negociar" a través de NTLM desde un cliente Java SE6 en Windows
- 28. patrones de cometas HTTP en Java
- 29. elasticsearch doble faceta
- 30. Gestión de sesión http escalable (java, linux)
Tengo el mismo problema, tengo que ser capaz de conectarme a un servidor ES solo a través del puerto 80. Jest se ve bien, pero lamentablemente la aplicación de muestra Jest está muy por detrás de la biblioteca central de Jest. – Phy6