Подтвердить что ты не робот

Java HTTP Client для ElasticSearch

Я пытаюсь подключиться с Java к ElasticSearch, но я могу подключаться только через HTTP. Я не могу использовать TransportClient. Существует ли оболочка Java-клиента вокруг API-интерфейсов ElasticSearch REST? Если да, то как его использовать?

4b9b3361

Ответ 1

Привет Существует новый проект, который соответствует вашим потребностям. Это Java-интерфейс Rest API для Elasticsearch

Проверьте это! его имя JEST

Ответ 3

Мы просто открываем источник Flummi, клиент Java HTTP/REST для поиска эластичности. Он имитирует API-интерфейс транспортного клиента как можно ближе, упрощая перенос существующего кода. Он также обеспечивает лучший уровень абстракции, чем Jest, поскольку он сообщает обо всех ошибках с Исключениями. Попробуйте!

Простой пример использования:

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));

Ответ 4

Начиная с версии 5.6 Elasticearch Java SDK они предоставляют 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);