Skip to content

Commit 8093f5d

Browse files
committed
Revise upgrade section; do a general edit
1 parent 99155fe commit 8093f5d

File tree

1 file changed

+25
-14
lines changed

1 file changed

+25
-14
lines changed

docs/reference/index.md

Lines changed: 25 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,14 @@ mapped_pages:
66

77
# Python [overview]
88

9-
This is the official Python client for {{es}}. Its goal is to provide common ground for all {{es}}-related code in Python. For this reason, the client is designed to be unopinionated and extendable. API reference documentation for this client is available on [Read the Docs](https://elasticsearch-py.readthedocs.io).
9+
This documentation covers the [official Python client for {{es}](https://github.com/elastic/elasticsearch-py/tree/main/elasticsearch/dsl)}. The goal of the Python client is to provide common ground for all {{es}}-related code in Python. The client is designed to be unopinionated and extendable.
10+
11+
API reference documentation is provided on [Read the Docs](https://elasticsearch-py.readthedocs.io).
1012

1113

1214
## Example use [_example_use]
1315

14-
Simple use-case:
16+
Here's a simple Python client use case:
1517

1618
```python
1719
>>> from datetime import datetime
@@ -29,14 +31,12 @@ Simple use-case:
2931
{'any': 'data', 'timestamp': '2013-05-12T19:45:31.804229'}
3032
```
3133

32-
::::{tip}
33-
For an elaborate example of how to ingest data into Elastic Cloud, refer to [this page](docs-content://manage-data/ingest/ingesting-data-from-applications/ingest-data-with-python-on-elasticsearch-service.md).
34-
::::
34+
3535

3636

3737
## Features [_features]
3838

39-
The clients features include:
39+
The client's features include:
4040

4141
* Translating basic Python data types to and from JSON
4242
* Configurable automatic discovery of cluster nodes
@@ -46,12 +46,15 @@ The client’s features include:
4646
* Thread safety
4747
* Pluggable architecture
4848

49-
The client also contains a convenient set of [helpers](client-helpers.md) for some of the more engaging tasks like bulk indexing and reindexing.
49+
The client also provides a convenient set of [helpers](client-helpers.md) for tasks like bulk indexing and reindexing.
5050

51+
::::{tip}
52+
For details on ingesting data into Elastic Cloud with Python, refer to [Ingest data with Python](docs-content://manage-data/ingest/ingesting-data-from-applications/ingest-data-with-python-on-elasticsearch-service.md).
53+
::::
5154

52-
## Elasticsearch Python DSL [_elasticsearch_python_dsl]
55+
### Elasticsearch Python DSL [_elasticsearch_python_dsl]
5356

54-
For a higher level access with more limited scope, have a look at the DSL module, which provides a more convenient and idiomatic way to write and manipulate queries.
57+
The [Python DSL module](../reference/elasticsearch-dsl.md) offers a convenient and idiomatic way to write and manipulate queries.
5558

5659

5760
## Compatibility [_compatibility]
@@ -71,12 +74,20 @@ Compatibility does not imply full feature parity. New {{es}} features are suppor
7174

7275
### Major version upgrades
7376

74-
:::{tip}
75-
To upgrade to a new major version, first upgrade {{es}}, then upgrade the Python {{es}} client.
77+
:::{important}
78+
To upgrade to a new major version, first upgrade {{es}}, then upgrade the Python client.
7679
:::
7780

78-
Since version 8.0, the {{es}} server supports a compatibility mode that allows smoother upgrade experiences. In a nutshell, this makes it possible to upgrade the {{es}} server to the next major version, while continuing to use the same client. This gives more room to coordinate the upgrade of your codebase to the next major version.
81+
As of version 8.0, {{es}} offers a compatibility mode for smoother upgrades. In compatibility mode, you can upgrade your {{es}} cluster to the next major version while continuing to use your existing client during the transition.
82+
83+
For example, if you're upgrading {{es}} 8.x to {{es}} 9.x, you can continue to use the 8.x Python {{es}} client during the server migration, with the except of client [breaking changes](../release-notes/breaking-changes.md).
84+
85+
For details, refer to [REST API compatibility workflow](elasticsearch://reference/elasticsearch/rest-apis/compatibility.md#_rest_api_compatibility_workflow).
7986

80-
For example, to upgrade a system that uses {{es}} 8.x you can upgrade the {{es}} server to 9.x first, and the 8.x Python {{es}} client will continue to work (aside from any breaking changes, which should be listed in the server release notes). You can continue using the 8.x client during the server migration, and only upgrade it once the server migration is complete. The process is described in detail in the [REST API compatibility workflow](https://www.elastic.co/docs/reference/elasticsearch/rest-apis/compatibility#_rest_api_compatibility_workflow) section of the {{es}} documentation.
87+
:::{tip}
88+
To support working with multiple client versions, the Python client is also released under the package names `elasticsearch8` and `elasticsearch9` (to prevent name collisions).
89+
:::
8190

82-
If you need to work with multiple client versions, note that older versions are also released with the `elasticsearch8` and `elasticsearch9` package names so that they can be installed together.
91+
## Additional resources
92+
- [Upgrade your deployment or cluster](docs-content://deploy-manage/upgrade.md)
93+
- [Python client GitHub repo](https://github.com/elastic/elasticsearch-py)

0 commit comments

Comments
 (0)