You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/reference/index.md
+25-14Lines changed: 25 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,12 +6,14 @@ mapped_pages:
6
6
7
7
# Python [overview]
8
8
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).
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
+
35
35
36
36
37
37
## Features [_features]
38
38
39
-
The client’s features include:
39
+
The client's features include:
40
40
41
41
* Translating basic Python data types to and from JSON
42
42
* Configurable automatic discovery of cluster nodes
@@ -46,12 +46,15 @@ The client’s features include:
46
46
* Thread safety
47
47
* Pluggable architecture
48
48
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.
50
50
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).
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.
55
58
56
59
57
60
## Compatibility [_compatibility]
@@ -71,12 +74,20 @@ Compatibility does not imply full feature parity. New {{es}} features are suppor
71
74
72
75
### Major version upgrades
73
76
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.
76
79
:::
77
80
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).
79
86
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
+
:::
81
90
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)
0 commit comments