Java HTTP Client para ElasticSearch
jest (4)
Acabamos de abrir Flummi origen, 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));
Estoy intentando conectarme desde Java a ElasticSearch, pero solo puedo conectarme a través de HTTP. No puedo usar TransportClient
. ¿Hay un envoltorio de cliente Java alrededor de las API REST de ElasticSearch? Si es así, ¿cómo lo uso?
Hola, hay un nuevo proyecto que se ajusta a tus necesidades. Está basado en Java Rest API para Elasticsearch
¡Echale un vistazo! su nombre JEST
Un nuevo cliente java basado en REST "oficial" estará disponible comenzando con v5.0.0-alpha4.
Desde la versión 5.6 del Elasticsearch Java SDK, proporcionan un 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);