Java RestHighLevelClient vs Elasticsearch Java API Client Improvements


We are on 7.16.2 and are currently using the org.Elasticsearch.client.RestHighLevelClient. I am aware that the RestHighLevelClient has been deprecated in favor of the new Java API client. I'd just like to know if there is any functional or performance improvement that the new Java API client has over the legacy high level client. We do plan to upgrade in the future, but just want to know what are the benefits that the new client bring (besides being better maintained/updated).


Although we haven't done any formal benchmarks, performance should be similar as neither of the two clients rely on costly reflection to serialize and deserialize objects. The two clients also use the same lower level RestClient to handle http communication.

From a functional perspective, the Java API client provides a modern fluent way for building request objects and navigate complex responses, stronger typing (no Object values) and also a tight integration with JSON object mappers like Jackson so that you can send and retrieve application classes directly.

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.