Image taken from:

Elasticsearch new High-level client API


ES previous client versions gave a special care for the Java client API. Almost all ES clients are based on ES REST API at their protocol layer while ES Java native client is using a native transport protocol based on TCP.

As a replacement for the native API. Elasticsearch had released a Java low-level client API which is using Apache HTTP Client at its transport layer. This low-level API lacks all query builders and much more functionality that was provided by the Java native API.

The good news are that Elasticsearch version 5.6 was just released with a new Java High-Level API which contains support for query builders and much more.

Almost same API’s as the previous Java native client had with the difference that it is running on top of the previous released Low-Level API. This version contains the goodies we have had in the native Java client API. Namely, query builders and composite operations which are easy to implement instead of using Elasticsearch REST textual query DSL.

In order to read more about the new API compatibility and background you may refer to the following post about the subject.

Hope that you find this article useful!

You may follow me on:

Medium | Twitter | Linkedin | Stackoverflow | GitHub