my question is about different Elasticsearch client APIs .. I wanted to migrate form Elasticsearch 6.2 to Elasticsearch 7
- Currently i am using JEST Client library with elasticsearch v6.2, but its absolute now therefore with the upgrade i wanted to used client library provided by Elasticsearch, but number of libraries provided by Elasticsearch make me lost which one to use with v7.15
these are following ES client libraries
- Java client :
- REST clients: there are two REST clients
- Low level REST client.
- request marshalling and response un-marshalling is handled by the client
itself.
- internally uses "Apache Http Async Client"
- provide some basic domentation of rintailizing, request/response with java code
- request marshalling and response un-marshalling is handled by the client
itself.
- High Level client
- deprecated in 7.15
- it a layer on top of Low level client
- performs request marshalling and response un-marshalling is handled by the client itself.
- provides documentation with Java code https://www.elastic.co/guide/en/elasticsearch/client/java-rest/7.15/java-rest-high-document-index.html
- Low level REST client.
so its look like Elasticsearch 7.15 can only use "Low level REST client" because other two clients " Java client " and "RES High Level clien" are deprecated. and using REST LOW level client require to write lots of basic codes like marschalling /un-marshalling etc
is my understating correct ? is there any other Elasticsearch client available /better to use to migrate to 7.15 ?
You are right, this is the only way for this version.
But starting with 7.16 version there is a new client ⇾ ElasticsearchClient handling marshalling and unmarshalling by itself (You pass class type as a parameter with calls) with already pretty neet documentation existing:
https://www.elastic.co/guide/en/elasticsearch/client/java-api-client/master/connecting.html