This section describes the Java API that elasticsearch provides. All elasticsearch operations are executed using a Client object. All operations are completely asynchronous in nature (either accepts a listener, or returns a future).

Additionally, operations on a client may be accumulated and executed in Bulk.

Note, all the APIs are exposed through the Java API (actually, the Java API is used internally to execute them).


Starting from version 5.6.0, a new Java client has been released: the Java High Level REST Client. This new client is designed to replace the TransportClient in Java applications which will be deprecated in future versions of Elasticsearch.