- Java REST Client (deprecated): other versions:
- Overview
- Java Low Level REST Client
- Java High Level REST Client
- Getting started
- Document APIs
- Search APIs
- Miscellaneous APIs
- Indices APIs
- Analyze API
- Create Index API
- Delete Index API
- Indices Exists API
- Open Index API
- Close Index API
- Shrink Index API
- Split Index API
- Refresh API
- Flush API
- Flush Synced API
- Clear Cache API
- Force Merge API
- Rollover Index API
- Put Mapping API
- Get Mappings API
- Get Field Mappings API
- Index Aliases API
- Exists Alias API
- Get Alias API
- Update Indices Settings API
- Get Settings API
- Put Template API
- Validate Query API
- Get Templates API
- Get Index API
- Cluster APIs
- Ingest APIs
- Snapshot APIs
- Tasks APIs
- Script APIs
- Licensing APIs
- Machine Learning APIs
- Put Job API
- Get Job API
- Delete Job API
- Open Job API
- Close Job API
- Update Job API
- Flush Job API
- Put Datafeed API
- Get Datafeed API
- Delete Datafeed API
- Preview Datafeed API
- Start Datafeed API
- Stop Datafeed API
- Get Datafeed Stats API
- Get Job Stats API
- Forecast Job API
- Delete Forecast API
- Get Buckets API
- Get Overall Buckets API
- Get Records API
- Post Data API
- Get Influencers API
- Get Categories API
- Get Calendars API
- Put Calendar API
- Delete Calendar API
- Migration APIs
- Rollup APIs
- Security APIs
- Watcher APIs
- Graph APIs
- Using Java Builders
- Migration Guide
- License
Compatibility
editCompatibility
editThe Java High Level REST Client requires Java 1.8 and depends on the Elasticsearch
core project. The client version is the same as the Elasticsearch version that the
client was developed for. It accepts the same request arguments as the TransportClient
and returns the same response objects. See the Migration Guide
if you need to migrate an application from TransportClient
to the new REST client.
The High Level Client is guaranteed to be able to communicate with any Elasticsearch node running on the same major version and greater or equal minor version. It doesn’t need to be in the same minor version as the Elasticsearch nodes it communicates with, as it is forward compatible meaning that it supports communicating with later versions of Elasticsearch than the one it was developed for.
The 6.0 client is able to communicate with any 6.x Elasticsearch node, while the 6.1 client is for sure able to communicate with 6.1, 6.2 and any later 6.x version, but there may be incompatibility issues when communicating with a previous Elasticsearch node version, for instance between 6.1 and 6.0, in case the 6.1 client supports new request body fields for some APIs that are not known by the 6.0 node(s).
It is recommended to upgrade the High Level Client when upgrading the Elasticsearch cluster to a new major version, as REST API breaking changes may cause unexpected results depending on the node that is hit by the request, and newly added APIs will only be supported by the newer version of the client. The client should always be updated last, once all of the nodes in the cluster have been upgraded to the new major version.
ElasticON events are back!
Learn about the Elastic Search AI Platform from the experts at our live events.
Register now