OpenSearch language clients
OpenSearch provides clients in JavaScript, Python, Ruby, Java, PHP, .NET, Go, Hadoop, and Rust.
The OpenSearch Java high-level REST client will be deprecated starting with OpenSearch 3.0.0 and will be removed in a future release. Switching to the Java client is recommended.
OpenSearch clients
OpenSearch provides clients for the following programming languages and platforms:
- Python
- Java
- JavaScript
- Go
- Ruby
- PHP
- .NET
- Rust
- Hadoop
Legacy clients
Clients that work with Elasticsearch OSS 7.10.2 should work with OpenSearch 1.x. The latest versions of those clients, however, might include license or version checks that artificially break compatibility. The following table provides recommendations for which client versions to use for best compatibility with OpenSearch 1.x. For OpenSearch 2.0 and later, no Elasticsearch clients are fully compatible with OpenSearch.
While OpenSearch and Elasticsearch share several core features, mixing and matching the client and server has a high risk of errors and unexpected results. As OpenSearch and Elasticsearch continue to diverge, such risks may increase. Although your Elasticsearch client may continue working with your OpenSearch cluster, using OpenSearch clients for OpenSearch clusters is recommended.
To view the compatibility matrix for a specific client, see the COMPATIBILITY.md
file in the client’s repository.
Client | Recommended version |
---|---|
Elasticsearch Java low-level REST client | 7.13.4 |
Elasticsearch Java high-level REST client | 7.13.4 |
Elasticsearch Python client | 7.13.4 |
Elasticsearch Node.js client | 7.13.0 |
Elasticsearch Ruby client | 7.13.0 |
If you test a legacy client and verify that it works, please submit a PR and add it to this table.