Java HTTP-клиент для ElasticSearch

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

Ответы на вопрос(4)

будет доступн начиная с v5.0.0-alpha4.

 Bastian Voigt06 июл. 2016 г., 09:53
Извините за понижение, я уверен, что то, что вы написали, было совершенно правильно в 2012 году, но сейчас есть несколько реализаций с открытым исходным кодо
 imotov07 июл. 2016 г., 17:54
@ BastianVoigt спасибо, что обратили на это мое внимание. Я обновил свой ответ, чтобы отразить последнюю ситуацию.
 Bastian Voigt12 июл. 2016 г., 12:59
thx для обновления
Решение Вопроса

который соответствует вашим потребностям. Это основанный на Java API отдыха для Elasticsearch

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

 Phy606 сент. 2014 г., 02:42
У меня та же проблема, я должен иметь возможность подключаться к ES-серверу только через порт 80. Jest выглядит красиво, но, к сожалению, пример приложения Jest значительно отстает от базовой библиотеки Jest.

Flummi, Java HTTP / REST-клиент для Elastic Search. Он максимально близко имитирует 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));

С версии 5.6 Elasticsearch Java SDK они предоставляютJava REST Client.

     new HttpHost("localhost", 9200, "http"),
    new HttpHost("localhost", 9201, "http")).build();

 // for the RestHighLevelClient
 RestHighLevelClient client =
    new RestHighLevelClient(restClient);

Ваш ответ на вопрос