Клиентский API Elasticsearch
у меня вопрос о различных клиентских API Elasticsearch. Я хотел перейти с Elasticsearch 6.2 на Elasticsearch 7
- В настоящее время я использую клиентскую библиотеку JEST с elasticsearch v6.2, но теперь она абсолютна, поэтому с обновлением я хотел использовать клиентскую библиотеку, предоставленную Elasticsearch, но из-за количества библиотек, предоставленных Elasticsearch, я потерял, какую из них использовать с v7.15
это следующие клиентские библиотеки ES
- Клиент Java:
- REST-клиенты: есть два REST-клиента
- Клиент REST низкого уровня.
- Маршаллинг запросов и немаршалинг ответов обрабатываются самим клиентом.
- внутренне использует «Apache Http Async Client»
- предоставить базовую реализацию rintailizing, запрос / ответ с помощью java-кода
- Маршаллинг запросов и немаршалинг ответов обрабатываются самим клиентом.
- Клиент высокого уровня
- устарело в версии 7.15
- это слой поверх клиента низкого уровня
- выполняет маршалинг запросов, а деактивация ответов обрабатывается самим клиентом.
- предоставляет документацию с кодом Java https://www.elastic.co/guide/en/elasticsearch/client/java-rest/7.15/java-rest-high-document-index.html
- Клиент REST низкого уровня.
так что похоже, что Elasticsearch 7.15 может использовать только «клиент REST низкого уровня», потому что два других клиента «клиент Java» и « клиент высокого уровня RES» устарели. и использование клиента уровня REST LOW требует написания множества базовых кодов, таких как маршаллинг / демаршаллинг и т. д.
правильно ли я недооцениваю? есть ли какой-либо другой клиент Elasticsearch, который можно использовать / лучше использовать для перехода на версию 7.15?
1 ответ
Вы правы, это единственный способ для этой версии.
Но, начиная с версии 7.16, появился новый клиент ⇾ ElasticsearchClient , который сам обрабатывает маршалинг и демаршаллинг (вы передаете тип класса в качестве параметра при вызовах) с уже существующей довольно хорошей документацией:
https://www.elastic.co/guide/en/elasticsearch/client/java-api-client/master/connecting.html