This is the documentation for the official Java API Client for Elasticsearch. The client provides strongly typed requests and responses for all Elasticsearch APIs.


  • Strongly typed requests and responses for all Elasticsearch APIs.
  • Blocking and asynchronous versions of all APIs.
  • Use of fluent builders and functional patterns to allow writing concise yet readable code when creating complex nested structures.
  • Seamless integration of application classes by using an object mapper such as Jackson or any JSON-B implementation.
  • Delegates protocol handling to an http client such as the Java Low Level REST Client that takes care of all transport-level concerns: HTTP connection pooling, retries, node discovery, and so on.

Elasticsearch server compatibility policyedit

The Elasticsearch Java client is forward compatible; meaning that the client supports communicating with greater or equal minor versions of Elasticsearch. Elasticsearch language clients are only backwards compatible with default distributions and without guarantees made.