From ac9acb3c62287e1403fc0ad7c29cf28c1ddaee8e Mon Sep 17 00:00:00 2001 From: aetter Date: Thu, 26 Aug 2021 09:15:50 -0700 Subject: [PATCH] Adds some statements around compatibility Should (hopefully) apply to all clients. --- _clients/index.md | 14 +++++++++++++- _clients/python.md | 2 ++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/_clients/index.md b/_clients/index.md index bdf2bf05..3880a3bb 100644 --- a/_clients/index.md +++ b/_clients/index.md @@ -9,6 +9,18 @@ redirect_from: # OpenSearch client compatibility +OpenSearch provides clients for several popular programming languages, with more coming. In general, clients are compatible with clusters running the same major version of OpenSearch (`major.minor.patch`). + +For example, a 1.0.0 client works with an OpenSearch 1.1.0 cluster, but might not support any non-breaking API changes in OpenSearch 1.1.0. A 1.2.0 client works with the same cluster, but might allow you to pass unsupported options in certain functions. We recommend using the same version for both, but if your tests pass after a cluster upgrade, you don't necessarily need to upgrade your clients immediately. + +* [OpenSearch Java client]({{site.url}}{{site.baseurl}}/clients/java/) +* [OpenSearch Python client]({{site.url}}{{site.baseurl}}/clients/python/) +* [OpenSearch JavaScript (Node.js) client]({{site.url}}{{site.baseurl}}/clients/nodejs/) +* [OpenSearch Go client]({{site.url}}{{site.baseurl}}/clients/golang/) + + +## Legacy clients + Most clients that work with Elasticsearch OSS 7.10.2 *should* work with OpenSearch, but the latest versions of those clients might include license or version checks that artificially break compatibility. This page includes recommendations around which versions of those clients to use for best compatibility with OpenSearch. Client | Recommended version @@ -18,7 +30,7 @@ Client | Recommended version [Python Elasticsearch client](https://pypi.org/project/elasticsearch/7.13.4/) | 7.13.4 [Elasticsearch Node.js client](https://www.npmjs.com/package/@elastic/elasticsearch/v/7.13.0) | 7.13.0 -Clients exist for a wide variety of languages, so if you test a client and verify that it works, please [submit a PR](https://github.com/opensearch-project/documentation-website/pulls) and add it to this table. +If you test a legacy client and verify that it works, please [submit a PR](https://github.com/opensearch-project/documentation-website/pulls) and add it to this table. {% comment %} diff --git a/_clients/python.md b/_clients/python.md index 879513ce..f2abffe5 100644 --- a/_clients/python.md +++ b/_clients/python.md @@ -23,6 +23,8 @@ Then import it like any other module: from opensearch import OpenSearch ``` +If you prefer to add the client manually or just want to examine the source code, see [opensearch-py on GitHub](https://github.com/opensearch-project/opensearch-py). + ## Sample code