Я пытаюсь подключиться с Java к ElasticSearch, но я могу подключаться только через HTTP. Я не могу использовать TransportClient
. Существует ли оболочка Java-клиента вокруг API-интерфейсов ElasticSearch REST? Если да, то как его использовать?Java HTTP Client для ElasticSearch
ответ
Привет Существует новый проект, соответствующий вашим потребностям. Это Java-интерфейс Rest API для Elasticsearch
Проверьте это! его имя JEST
Новый «официальный» java-клиент REST will be available, начиная с версии 5.0.0-alpha4.
Извините за нижний предел, я уверен, что то, что вы написали, было действительно действительным в 2012 году, но сейчас существует несколько версий с открытым исходным кодом. –
@BastianVoigt благодарит за то, что привлек это мое внимание. Я обновил свой ответ, чтобы отразить последнюю ситуацию. – imotov
thx для обновления –
Мы только что открыли источник Flummi, клиент HTTP 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));
Since version 5.6 из Elasticsearch 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);
- 1. Java elasticsearch client always null
- 2. AWS ElasticSearch Client SDK
- 3. JAVA HTTP Client и Serlvlet
- 4. Обновление настроек индекса через elasticsearch java client
- 5. elasticsearch geohash facet in java client
- 6. elasticsearch client thread security
- 7. Elasticsearch PHP Client - Bad
- 8. Http Client Post Method
- 9. Использование Mockito для HTTP Client
- 10. Http Client для облачных устройств
- 11. Java Sonatype Async HTTP Client Upload Progress
- 12. Java HTTP Client выводит пустой JSON
- 13. Ошибка с apache http client java program
- 14. ElasticSearch NEST Elastic Client lifetime
- 15. ElasticSearch HTTP-клиент vs Транспортный клиент
- 16. Исключение протокола HTTP http client
- 17. Java Apache HTTP Client - Сохранить Cookie для следующего запроса
- 18. AWS ElasticSearch 2.3 Java HTTP bulk API
- 19. Elasticsearch диапазон запросов (PHP Client)
- 20. ElasticSearch JS Client Поиск по
- 21. Elasticearch error client http traffic, замыкающее соединение
- 22. Inets http client + авторизация
- 23. Zend Http Client
- 24. Сделать boost http client
- 25. cxf client http rest
- 26. Jetty HTTP 2 Client
- 27. Http Client Abstraction Layer
- 28. Apache http client или URLConnection
- 29. Android HTTP Client freezes
- 30. Guzzle HTTP Client - statusCode
У меня такая же проблема, я должен иметь возможность подключаться только к ES-серверу через порт 80. Jest выглядит красиво, но, к сожалению, приложение для примера Jest находится за основной библиотекой Jest. – Phy6