elasticsearch 8.15.1__py3-none-any.whl → 8.17.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. elasticsearch/_async/client/__init__.py +237 -120
  2. elasticsearch/_async/client/async_search.py +33 -43
  3. elasticsearch/_async/client/autoscaling.py +59 -11
  4. elasticsearch/_async/client/cat.py +75 -66
  5. elasticsearch/_async/client/ccr.py +85 -35
  6. elasticsearch/_async/client/cluster.py +165 -70
  7. elasticsearch/_async/client/connector.py +112 -51
  8. elasticsearch/_async/client/dangling_indices.py +27 -12
  9. elasticsearch/_async/client/enrich.py +11 -11
  10. elasticsearch/_async/client/eql.py +13 -11
  11. elasticsearch/_async/client/esql.py +44 -5
  12. elasticsearch/_async/client/features.py +29 -6
  13. elasticsearch/_async/client/fleet.py +10 -2
  14. elasticsearch/_async/client/graph.py +9 -3
  15. elasticsearch/_async/client/ilm.py +74 -35
  16. elasticsearch/_async/client/indices.py +422 -152
  17. elasticsearch/_async/client/inference.py +4 -4
  18. elasticsearch/_async/client/ingest.py +47 -26
  19. elasticsearch/_async/client/license.py +38 -22
  20. elasticsearch/_async/client/logstash.py +3 -3
  21. elasticsearch/_async/client/migration.py +3 -3
  22. elasticsearch/_async/client/ml.py +346 -291
  23. elasticsearch/_async/client/monitoring.py +1 -1
  24. elasticsearch/_async/client/nodes.py +43 -21
  25. elasticsearch/_async/client/query_rules.py +69 -15
  26. elasticsearch/_async/client/rollup.py +23 -9
  27. elasticsearch/_async/client/search_application.py +35 -16
  28. elasticsearch/_async/client/searchable_snapshots.py +13 -5
  29. elasticsearch/_async/client/security.py +378 -180
  30. elasticsearch/_async/client/slm.py +9 -9
  31. elasticsearch/_async/client/snapshot.py +97 -12
  32. elasticsearch/_async/client/sql.py +21 -16
  33. elasticsearch/_async/client/ssl.py +18 -3
  34. elasticsearch/_async/client/synonyms.py +17 -14
  35. elasticsearch/_async/client/tasks.py +19 -9
  36. elasticsearch/_async/client/text_structure.py +2 -2
  37. elasticsearch/_async/client/transform.py +78 -72
  38. elasticsearch/_async/client/utils.py +4 -0
  39. elasticsearch/_async/client/watcher.py +11 -11
  40. elasticsearch/_async/client/xpack.py +5 -3
  41. elasticsearch/_async/helpers.py +19 -10
  42. elasticsearch/_otel.py +2 -2
  43. elasticsearch/_sync/client/__init__.py +237 -120
  44. elasticsearch/_sync/client/async_search.py +33 -43
  45. elasticsearch/_sync/client/autoscaling.py +59 -11
  46. elasticsearch/_sync/client/cat.py +75 -66
  47. elasticsearch/_sync/client/ccr.py +85 -35
  48. elasticsearch/_sync/client/cluster.py +165 -70
  49. elasticsearch/_sync/client/connector.py +112 -51
  50. elasticsearch/_sync/client/dangling_indices.py +27 -12
  51. elasticsearch/_sync/client/enrich.py +11 -11
  52. elasticsearch/_sync/client/eql.py +13 -11
  53. elasticsearch/_sync/client/esql.py +44 -5
  54. elasticsearch/_sync/client/features.py +29 -6
  55. elasticsearch/_sync/client/fleet.py +10 -2
  56. elasticsearch/_sync/client/graph.py +9 -3
  57. elasticsearch/_sync/client/ilm.py +74 -35
  58. elasticsearch/_sync/client/indices.py +422 -152
  59. elasticsearch/_sync/client/inference.py +4 -4
  60. elasticsearch/_sync/client/ingest.py +47 -26
  61. elasticsearch/_sync/client/license.py +38 -22
  62. elasticsearch/_sync/client/logstash.py +3 -3
  63. elasticsearch/_sync/client/migration.py +3 -3
  64. elasticsearch/_sync/client/ml.py +346 -291
  65. elasticsearch/_sync/client/monitoring.py +1 -1
  66. elasticsearch/_sync/client/nodes.py +43 -21
  67. elasticsearch/_sync/client/query_rules.py +69 -15
  68. elasticsearch/_sync/client/rollup.py +23 -9
  69. elasticsearch/_sync/client/search_application.py +35 -16
  70. elasticsearch/_sync/client/searchable_snapshots.py +13 -5
  71. elasticsearch/_sync/client/security.py +378 -180
  72. elasticsearch/_sync/client/slm.py +9 -9
  73. elasticsearch/_sync/client/snapshot.py +97 -12
  74. elasticsearch/_sync/client/sql.py +21 -16
  75. elasticsearch/_sync/client/ssl.py +18 -3
  76. elasticsearch/_sync/client/synonyms.py +17 -14
  77. elasticsearch/_sync/client/tasks.py +19 -9
  78. elasticsearch/_sync/client/text_structure.py +2 -2
  79. elasticsearch/_sync/client/transform.py +78 -72
  80. elasticsearch/_sync/client/utils.py +40 -0
  81. elasticsearch/_sync/client/watcher.py +11 -11
  82. elasticsearch/_sync/client/xpack.py +5 -3
  83. elasticsearch/_version.py +1 -1
  84. elasticsearch/exceptions.py +4 -0
  85. elasticsearch/helpers/actions.py +19 -10
  86. elasticsearch/helpers/errors.py +12 -4
  87. elasticsearch/helpers/vectorstore/_async/strategies.py +30 -9
  88. elasticsearch/helpers/vectorstore/_sync/strategies.py +30 -9
  89. {elasticsearch-8.15.1.dist-info → elasticsearch-8.17.0.dist-info}/METADATA +4 -3
  90. elasticsearch-8.17.0.dist-info/RECORD +117 -0
  91. {elasticsearch-8.15.1.dist-info → elasticsearch-8.17.0.dist-info}/WHEEL +1 -1
  92. elasticsearch-8.15.1.dist-info/RECORD +0 -117
  93. {elasticsearch-8.15.1.dist-info → elasticsearch-8.17.0.dist-info}/licenses/LICENSE +0 -0
  94. {elasticsearch-8.15.1.dist-info → elasticsearch-8.17.0.dist-info}/licenses/NOTICE +0 -0
@@ -82,8 +82,10 @@ from .utils import (
82
82
  _TYPE_HOSTS,
83
83
  CLIENT_META_SERVICE,
84
84
  SKIP_IN_PATH,
85
+ Stability,
85
86
  _quote,
86
87
  _rewrite_parameters,
88
+ _stability_warning,
87
89
  client_node_configs,
88
90
  is_requests_http_auth,
89
91
  is_requests_node_class,
@@ -622,12 +624,14 @@ class Elasticsearch(BaseClient):
622
624
  error_trace: t.Optional[bool] = None,
623
625
  filter_path: t.Optional[t.Union[str, t.Sequence[str]]] = None,
624
626
  human: t.Optional[bool] = None,
627
+ list_executed_pipelines: t.Optional[bool] = None,
625
628
  pipeline: t.Optional[str] = None,
626
629
  pretty: t.Optional[bool] = None,
627
630
  refresh: t.Optional[
628
631
  t.Union[bool, str, t.Literal["false", "true", "wait_for"]]
629
632
  ] = None,
630
633
  require_alias: t.Optional[bool] = None,
634
+ require_data_stream: t.Optional[bool] = None,
631
635
  routing: t.Optional[str] = None,
632
636
  source: t.Optional[t.Union[bool, t.Union[str, t.Sequence[str]]]] = None,
633
637
  source_excludes: t.Optional[t.Union[str, t.Sequence[str]]] = None,
@@ -638,14 +642,17 @@ class Elasticsearch(BaseClient):
638
642
  ] = None,
639
643
  ) -> ObjectApiResponse[t.Any]:
640
644
  """
641
- Performs multiple indexing or delete operations in a single API call. This reduces
642
- overhead and can greatly increase indexing speed.
645
+ Bulk index or delete documents. Performs multiple indexing or delete operations
646
+ in a single API call. This reduces overhead and can greatly increase indexing
647
+ speed.
643
648
 
644
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/docs-bulk.html>`_
649
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/docs-bulk.html>`_
645
650
 
646
651
  :param operations:
647
652
  :param index: Name of the data stream, index, or index alias to perform bulk
648
653
  actions on.
654
+ :param list_executed_pipelines: If `true`, the response will include the ingest
655
+ pipelines that were executed for each index or create.
649
656
  :param pipeline: ID of the pipeline to use to preprocess incoming documents.
650
657
  If the index has a default ingest pipeline specified, then setting the value
651
658
  to `_none` disables the default ingest pipeline for this request. If a final
@@ -656,6 +663,8 @@ class Elasticsearch(BaseClient):
656
663
  make this operation visible to search, if `false` do nothing with refreshes.
657
664
  Valid values: `true`, `false`, `wait_for`.
658
665
  :param require_alias: If `true`, the request’s actions must target an index alias.
666
+ :param require_data_stream: If `true`, the request's actions must target a data
667
+ stream (existing or to-be-created).
659
668
  :param routing: Custom value used to route operations to a specific shard.
660
669
  :param source: `true` or `false` to return the `_source` field or not, or a list
661
670
  of fields to return.
@@ -689,6 +698,8 @@ class Elasticsearch(BaseClient):
689
698
  __query["filter_path"] = filter_path
690
699
  if human is not None:
691
700
  __query["human"] = human
701
+ if list_executed_pipelines is not None:
702
+ __query["list_executed_pipelines"] = list_executed_pipelines
692
703
  if pipeline is not None:
693
704
  __query["pipeline"] = pipeline
694
705
  if pretty is not None:
@@ -697,6 +708,8 @@ class Elasticsearch(BaseClient):
697
708
  __query["refresh"] = refresh
698
709
  if require_alias is not None:
699
710
  __query["require_alias"] = require_alias
711
+ if require_data_stream is not None:
712
+ __query["require_data_stream"] = require_data_stream
700
713
  if routing is not None:
701
714
  __query["routing"] = routing
702
715
  if source is not None:
@@ -738,9 +751,10 @@ class Elasticsearch(BaseClient):
738
751
  body: t.Optional[t.Dict[str, t.Any]] = None,
739
752
  ) -> ObjectApiResponse[t.Any]:
740
753
  """
741
- Clears the search context and results for a scrolling search.
754
+ Clear a scrolling search. Clear the search context and results for a scrolling
755
+ search.
742
756
 
743
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/clear-scroll-api.html>`_
757
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/clear-scroll-api.html>`_
744
758
 
745
759
  :param scroll_id: Scroll IDs to clear. To clear all scroll IDs, use `_all`.
746
760
  """
@@ -788,9 +802,13 @@ class Elasticsearch(BaseClient):
788
802
  body: t.Optional[t.Dict[str, t.Any]] = None,
789
803
  ) -> ObjectApiResponse[t.Any]:
790
804
  """
791
- Closes a point-in-time.
805
+ Close a point in time. A point in time must be opened explicitly before being
806
+ used in search requests. The `keep_alive` parameter tells Elasticsearch how long
807
+ it should persist. A point in time is automatically closed when the `keep_alive`
808
+ period has elapsed. However, keeping points in time has a cost; close them as
809
+ soon as they are no longer required for search requests.
792
810
 
793
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/point-in-time-api.html>`_
811
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/point-in-time-api.html>`_
794
812
 
795
813
  :param id: The ID of the point-in-time.
796
814
  """
@@ -862,9 +880,9 @@ class Elasticsearch(BaseClient):
862
880
  body: t.Optional[t.Dict[str, t.Any]] = None,
863
881
  ) -> ObjectApiResponse[t.Any]:
864
882
  """
865
- Returns number of documents matching a query.
883
+ Count search results. Get the number of documents matching a query.
866
884
 
867
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/search-count.html>`_
885
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/search-count.html>`_
868
886
 
869
887
  :param index: Comma-separated list of data streams, indices, and aliases to search.
870
888
  Supports wildcards (`*`). To search all data streams and indices, omit this
@@ -995,11 +1013,11 @@ class Elasticsearch(BaseClient):
995
1013
  ] = None,
996
1014
  ) -> ObjectApiResponse[t.Any]:
997
1015
  """
998
- Adds a JSON document to the specified data stream or index and makes it searchable.
999
- If the target is an index and the document already exists, the request updates
1000
- the document and increments its version.
1016
+ Index a document. Adds a JSON document to the specified data stream or index
1017
+ and makes it searchable. If the target is an index and the document already exists,
1018
+ the request updates the document and increments its version.
1001
1019
 
1002
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/docs-index_.html>`_
1020
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/docs-index_.html>`_
1003
1021
 
1004
1022
  :param index: Name of the data stream or index to target. If the target doesn’t
1005
1023
  exist and matches the name or wildcard (`*`) pattern of an index template
@@ -1101,9 +1119,9 @@ class Elasticsearch(BaseClient):
1101
1119
  ] = None,
1102
1120
  ) -> ObjectApiResponse[t.Any]:
1103
1121
  """
1104
- Removes a JSON document from the specified index.
1122
+ Delete a document. Removes a JSON document from the specified index.
1105
1123
 
1106
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/docs-delete.html>`_
1124
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/docs-delete.html>`_
1107
1125
 
1108
1126
  :param index: Name of the target index.
1109
1127
  :param id: Unique identifier for the document.
@@ -1223,9 +1241,9 @@ class Elasticsearch(BaseClient):
1223
1241
  body: t.Optional[t.Dict[str, t.Any]] = None,
1224
1242
  ) -> ObjectApiResponse[t.Any]:
1225
1243
  """
1226
- Deletes documents that match the specified query.
1244
+ Delete documents. Deletes documents that match the specified query.
1227
1245
 
1228
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/docs-delete-by-query.html>`_
1246
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/docs-delete-by-query.html>`_
1229
1247
 
1230
1248
  :param index: Comma-separated list of data streams, indices, and aliases to search.
1231
1249
  Supports wildcards (`*`). To search all data streams or indices, omit this
@@ -1401,9 +1419,12 @@ class Elasticsearch(BaseClient):
1401
1419
  requests_per_second: t.Optional[float] = None,
1402
1420
  ) -> ObjectApiResponse[t.Any]:
1403
1421
  """
1404
- Changes the number of requests per second for a particular Delete By Query operation.
1422
+ Throttle a delete by query operation. Change the number of requests per second
1423
+ for a particular delete by query operation. Rethrottling that speeds up the query
1424
+ takes effect immediately but rethrotting that slows down the query takes effect
1425
+ after completing the current batch to prevent scroll timeouts.
1405
1426
 
1406
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/docs-delete-by-query.html>`_
1427
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/docs-delete-by-query.html>`_
1407
1428
 
1408
1429
  :param task_id: The ID for the task.
1409
1430
  :param requests_per_second: The throttle for this request in sub-requests per
@@ -1447,9 +1468,9 @@ class Elasticsearch(BaseClient):
1447
1468
  timeout: t.Optional[t.Union[str, t.Literal[-1], t.Literal[0]]] = None,
1448
1469
  ) -> ObjectApiResponse[t.Any]:
1449
1470
  """
1450
- Deletes a stored script or search template.
1471
+ Delete a script or search template. Deletes a stored script or search template.
1451
1472
 
1452
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/modules-scripting.html>`_
1473
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/modules-scripting.html>`_
1453
1474
 
1454
1475
  :param id: Identifier for the stored script or search template.
1455
1476
  :param master_timeout: Period to wait for a connection to the master node. If
@@ -1515,9 +1536,9 @@ class Elasticsearch(BaseClient):
1515
1536
  ] = None,
1516
1537
  ) -> HeadApiResponse:
1517
1538
  """
1518
- Checks if a document in an index exists.
1539
+ Check a document. Checks if a specified document exists.
1519
1540
 
1520
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/docs-get.html>`_
1541
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/docs-get.html>`_
1521
1542
 
1522
1543
  :param index: Comma-separated list of data streams, indices, and aliases. Supports
1523
1544
  wildcards (`*`).
@@ -1616,9 +1637,9 @@ class Elasticsearch(BaseClient):
1616
1637
  ] = None,
1617
1638
  ) -> HeadApiResponse:
1618
1639
  """
1619
- Checks if a document's `_source` is stored.
1640
+ Check for a document source. Checks if a document's `_source` is stored.
1620
1641
 
1621
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/docs-get.html>`_
1642
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/docs-get.html>`_
1622
1643
 
1623
1644
  :param index: Comma-separated list of data streams, indices, and aliases. Supports
1624
1645
  wildcards (`*`).
@@ -1716,10 +1737,10 @@ class Elasticsearch(BaseClient):
1716
1737
  body: t.Optional[t.Dict[str, t.Any]] = None,
1717
1738
  ) -> ObjectApiResponse[t.Any]:
1718
1739
  """
1719
- Returns information about why a specific document matches (or doesn’t match)
1720
- a query.
1740
+ Explain a document match result. Returns information about why a specific document
1741
+ matches, or doesn’t match, a query.
1721
1742
 
1722
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/search-explain.html>`_
1743
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/search-explain.html>`_
1723
1744
 
1724
1745
  :param index: Index names used to limit the request. Only a single index name
1725
1746
  can be provided to this parameter.
@@ -1836,12 +1857,13 @@ class Elasticsearch(BaseClient):
1836
1857
  body: t.Optional[t.Dict[str, t.Any]] = None,
1837
1858
  ) -> ObjectApiResponse[t.Any]:
1838
1859
  """
1839
- The field capabilities API returns the information about the capabilities of
1840
- fields among multiple indices. The field capabilities API returns runtime fields
1841
- like any other field. For example, a runtime field with a type of keyword is
1842
- returned as any other field that belongs to the `keyword` family.
1860
+ Get the field capabilities. Get information about the capabilities of fields
1861
+ among multiple indices. For data streams, the API returns field capabilities
1862
+ among the stream’s backing indices. It returns runtime fields like any other
1863
+ field. For example, a runtime field with a type of keyword is returned the same
1864
+ as any other field that belongs to the `keyword` family.
1843
1865
 
1844
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/search-field-caps.html>`_
1866
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/search-field-caps.html>`_
1845
1867
 
1846
1868
  :param index: Comma-separated list of data streams, indices, and aliases used
1847
1869
  to limit the request. Supports wildcards (*). To target all data streams
@@ -1955,9 +1977,10 @@ class Elasticsearch(BaseClient):
1955
1977
  ] = None,
1956
1978
  ) -> ObjectApiResponse[t.Any]:
1957
1979
  """
1958
- Returns a document.
1980
+ Get a document by its ID. Retrieves the document with the specified ID from an
1981
+ index.
1959
1982
 
1960
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/docs-get.html>`_
1983
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/docs-get.html>`_
1961
1984
 
1962
1985
  :param index: Name of the index that contains the document.
1963
1986
  :param id: Unique identifier of the document.
@@ -2044,9 +2067,9 @@ class Elasticsearch(BaseClient):
2044
2067
  pretty: t.Optional[bool] = None,
2045
2068
  ) -> ObjectApiResponse[t.Any]:
2046
2069
  """
2047
- Retrieves a stored script or search template.
2070
+ Get a script or search template. Retrieves a stored script or search template.
2048
2071
 
2049
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/modules-scripting.html>`_
2072
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/modules-scripting.html>`_
2050
2073
 
2051
2074
  :param id: Identifier for the stored script or search template.
2052
2075
  :param master_timeout: Specify timeout for connection to master
@@ -2086,9 +2109,9 @@ class Elasticsearch(BaseClient):
2086
2109
  pretty: t.Optional[bool] = None,
2087
2110
  ) -> ObjectApiResponse[t.Any]:
2088
2111
  """
2089
- Returns all script contexts.
2112
+ Get script contexts. Get a list of supported script contexts and their methods.
2090
2113
 
2091
- `<https://www.elastic.co/guide/en/elasticsearch/painless/8.15/painless-contexts.html>`_
2114
+ `<https://www.elastic.co/guide/en/elasticsearch/painless/8.17/painless-contexts.html>`_
2092
2115
  """
2093
2116
  __path_parts: t.Dict[str, str] = {}
2094
2117
  __path = "/_script_context"
@@ -2121,9 +2144,9 @@ class Elasticsearch(BaseClient):
2121
2144
  pretty: t.Optional[bool] = None,
2122
2145
  ) -> ObjectApiResponse[t.Any]:
2123
2146
  """
2124
- Returns available script types, languages and contexts
2147
+ Get script languages. Get a list of available script types, languages, and contexts.
2125
2148
 
2126
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/modules-scripting.html>`_
2149
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/modules-scripting.html>`_
2127
2150
  """
2128
2151
  __path_parts: t.Dict[str, str] = {}
2129
2152
  __path = "/_script_language"
@@ -2176,9 +2199,9 @@ class Elasticsearch(BaseClient):
2176
2199
  ] = None,
2177
2200
  ) -> ObjectApiResponse[t.Any]:
2178
2201
  """
2179
- Returns the source of a document.
2202
+ Get a document's source. Returns the source of a document.
2180
2203
 
2181
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/docs-get.html>`_
2204
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/docs-get.html>`_
2182
2205
 
2183
2206
  :param index: Name of the index that contains the document.
2184
2207
  :param id: Unique identifier of the document.
@@ -2259,9 +2282,28 @@ class Elasticsearch(BaseClient):
2259
2282
  verbose: t.Optional[bool] = None,
2260
2283
  ) -> ObjectApiResponse[t.Any]:
2261
2284
  """
2262
- Returns the health of the cluster.
2263
-
2264
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/health-api.html>`_
2285
+ Get the cluster health. Get a report with the health status of an Elasticsearch
2286
+ cluster. The report contains a list of indicators that compose Elasticsearch
2287
+ functionality. Each indicator has a health status of: green, unknown, yellow
2288
+ or red. The indicator will provide an explanation and metadata describing the
2289
+ reason for its current health status. The cluster’s status is controlled by the
2290
+ worst indicator status. In the event that an indicator’s status is non-green,
2291
+ a list of impacts may be present in the indicator result which detail the functionalities
2292
+ that are negatively affected by the health issue. Each impact carries with it
2293
+ a severity level, an area of the system that is affected, and a simple description
2294
+ of the impact on the system. Some health indicators can determine the root cause
2295
+ of a health problem and prescribe a set of steps that can be performed in order
2296
+ to improve the health of the system. The root cause and remediation steps are
2297
+ encapsulated in a diagnosis. A diagnosis contains a cause detailing a root cause
2298
+ analysis, an action containing a brief description of the steps to take to fix
2299
+ the problem, the list of affected resources (if applicable), and a detailed step-by-step
2300
+ troubleshooting guide to fix the diagnosed problem. NOTE: The health indicators
2301
+ perform root cause analysis of non-green health statuses. This can be computationally
2302
+ expensive when called frequently. When setting up automated polling of the API
2303
+ for health status, set verbose to false to disable the more expensive analysis
2304
+ logic.
2305
+
2306
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/health-api.html>`_
2265
2307
 
2266
2308
  :param feature: A feature of the cluster, as returned by the top-level health
2267
2309
  report API.
@@ -2334,11 +2376,11 @@ class Elasticsearch(BaseClient):
2334
2376
  ] = None,
2335
2377
  ) -> ObjectApiResponse[t.Any]:
2336
2378
  """
2337
- Adds a JSON document to the specified data stream or index and makes it searchable.
2338
- If the target is an index and the document already exists, the request updates
2339
- the document and increments its version.
2379
+ Index a document. Adds a JSON document to the specified data stream or index
2380
+ and makes it searchable. If the target is an index and the document already exists,
2381
+ the request updates the document and increments its version.
2340
2382
 
2341
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/docs-index_.html>`_
2383
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/docs-index_.html>`_
2342
2384
 
2343
2385
  :param index: Name of the data stream or index to target.
2344
2386
  :param document:
@@ -2445,9 +2487,9 @@ class Elasticsearch(BaseClient):
2445
2487
  pretty: t.Optional[bool] = None,
2446
2488
  ) -> ObjectApiResponse[t.Any]:
2447
2489
  """
2448
- Returns basic information about the cluster.
2490
+ Get cluster info. Returns basic information about the cluster.
2449
2491
 
2450
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/index.html>`_
2492
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/index.html>`_
2451
2493
  """
2452
2494
  __path_parts: t.Dict[str, str] = {}
2453
2495
  __path = "/"
@@ -2481,6 +2523,7 @@ class Elasticsearch(BaseClient):
2481
2523
  ),
2482
2524
  parameter_aliases={"_source": "source"},
2483
2525
  )
2526
+ @_stability_warning(Stability.EXPERIMENTAL)
2484
2527
  def knn_search(
2485
2528
  self,
2486
2529
  *,
@@ -2501,9 +2544,17 @@ class Elasticsearch(BaseClient):
2501
2544
  body: t.Optional[t.Dict[str, t.Any]] = None,
2502
2545
  ) -> ObjectApiResponse[t.Any]:
2503
2546
  """
2504
- Performs a kNN search.
2505
-
2506
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/search-search.html>`_
2547
+ Run a knn search. NOTE: The kNN search API has been replaced by the `knn` option
2548
+ in the search API. Perform a k-nearest neighbor (kNN) search on a dense_vector
2549
+ field and return the matching documents. Given a query vector, the API finds
2550
+ the k closest vectors and returns those documents as search hits. Elasticsearch
2551
+ uses the HNSW algorithm to support efficient kNN search. Like most kNN algorithms,
2552
+ HNSW is an approximate method that sacrifices result accuracy for improved search
2553
+ speed. This means the results returned are not always the true k closest neighbors.
2554
+ The kNN search API supports restricting the search using a filter. The search
2555
+ will return the top k documents that also match the filter query.
2556
+
2557
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/search-search.html>`_
2507
2558
 
2508
2559
  :param index: A comma-separated list of index names to search; use `_all` or
2509
2560
  to perform the operation on all indices
@@ -2602,9 +2653,12 @@ class Elasticsearch(BaseClient):
2602
2653
  body: t.Optional[t.Dict[str, t.Any]] = None,
2603
2654
  ) -> ObjectApiResponse[t.Any]:
2604
2655
  """
2605
- Allows to get multiple documents in one request.
2656
+ Get multiple documents. Get multiple JSON documents by ID from one or more indices.
2657
+ If you specify an index in the request URI, you only need to specify the document
2658
+ IDs in the request body. To ensure fast responses, this multi get (mget) API
2659
+ responds with partial results if one or more shards fail.
2606
2660
 
2607
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/docs-multi-get.html>`_
2661
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/docs-multi-get.html>`_
2608
2662
 
2609
2663
  :param index: Name of the index to retrieve documents from when `ids` are specified,
2610
2664
  or when a document in the `docs` array does not specify an index.
@@ -2723,9 +2777,15 @@ class Elasticsearch(BaseClient):
2723
2777
  typed_keys: t.Optional[bool] = None,
2724
2778
  ) -> ObjectApiResponse[t.Any]:
2725
2779
  """
2726
- Allows to execute several search operations in one request.
2780
+ Run multiple searches. The format of the request is similar to the bulk API format
2781
+ and makes use of the newline delimited JSON (NDJSON) format. The structure is
2782
+ as follows: ``` header\\n body\\n header\\n body\\n ``` This structure is specifically
2783
+ optimized to reduce parsing if a specific search ends up redirected to another
2784
+ node. IMPORTANT: The final line of data must end with a newline character `\\n`.
2785
+ Each newline character may be preceded by a carriage return `\\r`. When sending
2786
+ requests to this endpoint the `Content-Type` header should be set to `application/x-ndjson`.
2727
2787
 
2728
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/search-multi-search.html>`_
2788
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/search-multi-search.html>`_
2729
2789
 
2730
2790
  :param searches:
2731
2791
  :param index: Comma-separated list of data streams, indices, and index aliases
@@ -2855,9 +2915,9 @@ class Elasticsearch(BaseClient):
2855
2915
  typed_keys: t.Optional[bool] = None,
2856
2916
  ) -> ObjectApiResponse[t.Any]:
2857
2917
  """
2858
- Runs multiple templated searches with a single request.
2918
+ Run multiple templated searches.
2859
2919
 
2860
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/search-multi-search.html>`_
2920
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/search-multi-search.html>`_
2861
2921
 
2862
2922
  :param search_templates:
2863
2923
  :param index: Comma-separated list of data streams, indices, and aliases to search.
@@ -2950,9 +3010,13 @@ class Elasticsearch(BaseClient):
2950
3010
  body: t.Optional[t.Dict[str, t.Any]] = None,
2951
3011
  ) -> ObjectApiResponse[t.Any]:
2952
3012
  """
2953
- Returns multiple termvectors in one request.
3013
+ Get multiple term vectors. You can specify existing documents by index and ID
3014
+ or provide artificial documents in the body of the request. You can specify the
3015
+ index in the request body or request URI. The response contains a `docs` array
3016
+ with all the fetched termvectors. Each element has the structure provided by
3017
+ the termvectors API.
2954
3018
 
2955
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/docs-multi-termvectors.html>`_
3019
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/docs-multi-termvectors.html>`_
2956
3020
 
2957
3021
  :param index: Name of the index that contains the documents.
2958
3022
  :param docs: Array of existing or artificial documents.
@@ -3034,12 +3098,15 @@ class Elasticsearch(BaseClient):
3034
3098
  path_parts=__path_parts,
3035
3099
  )
3036
3100
 
3037
- @_rewrite_parameters()
3101
+ @_rewrite_parameters(
3102
+ body_fields=("index_filter",),
3103
+ )
3038
3104
  def open_point_in_time(
3039
3105
  self,
3040
3106
  *,
3041
3107
  index: t.Union[str, t.Sequence[str]],
3042
3108
  keep_alive: t.Union[str, t.Literal[-1], t.Literal[0]],
3109
+ allow_partial_search_results: t.Optional[bool] = None,
3043
3110
  error_trace: t.Optional[bool] = None,
3044
3111
  expand_wildcards: t.Optional[
3045
3112
  t.Union[
@@ -3052,43 +3119,56 @@ class Elasticsearch(BaseClient):
3052
3119
  filter_path: t.Optional[t.Union[str, t.Sequence[str]]] = None,
3053
3120
  human: t.Optional[bool] = None,
3054
3121
  ignore_unavailable: t.Optional[bool] = None,
3122
+ index_filter: t.Optional[t.Mapping[str, t.Any]] = None,
3055
3123
  preference: t.Optional[str] = None,
3056
3124
  pretty: t.Optional[bool] = None,
3057
3125
  routing: t.Optional[str] = None,
3126
+ body: t.Optional[t.Dict[str, t.Any]] = None,
3058
3127
  ) -> ObjectApiResponse[t.Any]:
3059
3128
  """
3060
- A search request by default executes against the most recent visible data of
3061
- the target indices, which is called point in time. Elasticsearch pit (point in
3062
- time) is a lightweight view into the state of the data as it existed when initiated.
3063
- In some cases, it’s preferred to perform multiple search requests using the same
3064
- point in time. For example, if refreshes happen between `search_after` requests,
3065
- then the results of those requests might not be consistent as changes happening
3066
- between searches are only visible to the more recent point in time.
3067
-
3068
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/point-in-time-api.html>`_
3129
+ Open a point in time. A search request by default runs against the most recent
3130
+ visible data of the target indices, which is called point in time. Elasticsearch
3131
+ pit (point in time) is a lightweight view into the state of the data as it existed
3132
+ when initiated. In some cases, it’s preferred to perform multiple search requests
3133
+ using the same point in time. For example, if refreshes happen between `search_after`
3134
+ requests, then the results of those requests might not be consistent as changes
3135
+ happening between searches are only visible to the more recent point in time.
3136
+ A point in time must be opened explicitly before being used in search requests.
3137
+ The `keep_alive` parameter tells Elasticsearch how long it should persist.
3138
+
3139
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/point-in-time-api.html>`_
3069
3140
 
3070
3141
  :param index: A comma-separated list of index names to open point in time; use
3071
3142
  `_all` or empty string to perform the operation on all indices
3072
3143
  :param keep_alive: Extends the time to live of the corresponding point in time.
3144
+ :param allow_partial_search_results: If `false`, creating a point in time request
3145
+ when a shard is missing or unavailable will throw an exception. If `true`,
3146
+ the point in time will contain all the shards that are available at the time
3147
+ of the request.
3073
3148
  :param expand_wildcards: Type of index that wildcard patterns can match. If the
3074
3149
  request can target data streams, this argument determines whether wildcard
3075
3150
  expressions match hidden data streams. Supports comma-separated values, such
3076
3151
  as `open,hidden`. Valid values are: `all`, `open`, `closed`, `hidden`, `none`.
3077
3152
  :param ignore_unavailable: If `false`, the request returns an error if it targets
3078
3153
  a missing or closed index.
3154
+ :param index_filter: Allows to filter indices if the provided query rewrites
3155
+ to `match_none` on every shard.
3079
3156
  :param preference: Specifies the node or shard the operation should be performed
3080
3157
  on. Random by default.
3081
3158
  :param routing: Custom value used to route operations to a specific shard.
3082
3159
  """
3083
3160
  if index in SKIP_IN_PATH:
3084
3161
  raise ValueError("Empty value passed for parameter 'index'")
3085
- if keep_alive is None:
3162
+ if keep_alive is None and body is None:
3086
3163
  raise ValueError("Empty value passed for parameter 'keep_alive'")
3087
3164
  __path_parts: t.Dict[str, str] = {"index": _quote(index)}
3088
3165
  __path = f'/{__path_parts["index"]}/_pit'
3089
3166
  __query: t.Dict[str, t.Any] = {}
3167
+ __body: t.Dict[str, t.Any] = body if body is not None else {}
3090
3168
  if keep_alive is not None:
3091
3169
  __query["keep_alive"] = keep_alive
3170
+ if allow_partial_search_results is not None:
3171
+ __query["allow_partial_search_results"] = allow_partial_search_results
3092
3172
  if error_trace is not None:
3093
3173
  __query["error_trace"] = error_trace
3094
3174
  if expand_wildcards is not None:
@@ -3105,12 +3185,20 @@ class Elasticsearch(BaseClient):
3105
3185
  __query["pretty"] = pretty
3106
3186
  if routing is not None:
3107
3187
  __query["routing"] = routing
3188
+ if not __body:
3189
+ if index_filter is not None:
3190
+ __body["index_filter"] = index_filter
3191
+ if not __body:
3192
+ __body = None # type: ignore[assignment]
3108
3193
  __headers = {"accept": "application/json"}
3194
+ if __body is not None:
3195
+ __headers["content-type"] = "application/json"
3109
3196
  return self.perform_request( # type: ignore[return-value]
3110
3197
  "POST",
3111
3198
  __path,
3112
3199
  params=__query,
3113
3200
  headers=__headers,
3201
+ body=__body,
3114
3202
  endpoint_id="open_point_in_time",
3115
3203
  path_parts=__path_parts,
3116
3204
  )
@@ -3133,9 +3221,10 @@ class Elasticsearch(BaseClient):
3133
3221
  body: t.Optional[t.Dict[str, t.Any]] = None,
3134
3222
  ) -> ObjectApiResponse[t.Any]:
3135
3223
  """
3136
- Creates or updates a stored script or search template.
3224
+ Create or update a script or search template. Creates or updates a stored script
3225
+ or search template.
3137
3226
 
3138
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/modules-scripting.html>`_
3227
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/modules-scripting.html>`_
3139
3228
 
3140
3229
  :param id: Identifier for the stored script or search template. Must be unique
3141
3230
  within the cluster.
@@ -3218,10 +3307,10 @@ class Elasticsearch(BaseClient):
3218
3307
  body: t.Optional[t.Dict[str, t.Any]] = None,
3219
3308
  ) -> ObjectApiResponse[t.Any]:
3220
3309
  """
3221
- Enables you to evaluate the quality of ranked search results over a set of typical
3222
- search queries.
3310
+ Evaluate ranked search results. Evaluate the quality of ranked search results
3311
+ over a set of typical search queries.
3223
3312
 
3224
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/search-rank-eval.html>`_
3313
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/search-rank-eval.html>`_
3225
3314
 
3226
3315
  :param requests: A set of typical search requests, together with their provided
3227
3316
  ratings.
@@ -3313,11 +3402,11 @@ class Elasticsearch(BaseClient):
3313
3402
  body: t.Optional[t.Dict[str, t.Any]] = None,
3314
3403
  ) -> ObjectApiResponse[t.Any]:
3315
3404
  """
3316
- Allows to copy documents from one index to another, optionally filtering the
3317
- source documents by a query, changing the destination index settings, or fetching
3318
- the documents from a remote cluster.
3405
+ Reindex documents. Copies documents from a source to a destination. The source
3406
+ can be any existing index, alias, or data stream. The destination must differ
3407
+ from the source. For example, you cannot reindex a data stream into itself.
3319
3408
 
3320
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/docs-reindex.html>`_
3409
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/docs-reindex.html>`_
3321
3410
 
3322
3411
  :param dest: The destination you are copying to.
3323
3412
  :param source: The source you are copying from.
@@ -3411,9 +3500,10 @@ class Elasticsearch(BaseClient):
3411
3500
  requests_per_second: t.Optional[float] = None,
3412
3501
  ) -> ObjectApiResponse[t.Any]:
3413
3502
  """
3414
- Copies documents from a source to a destination.
3503
+ Throttle a reindex operation. Change the number of requests per second for a
3504
+ particular reindex operation.
3415
3505
 
3416
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/docs-reindex.html>`_
3506
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/docs-reindex.html>`_
3417
3507
 
3418
3508
  :param task_id: Identifier for the task.
3419
3509
  :param requests_per_second: The throttle for this request in sub-requests per
@@ -3462,9 +3552,9 @@ class Elasticsearch(BaseClient):
3462
3552
  body: t.Optional[t.Dict[str, t.Any]] = None,
3463
3553
  ) -> ObjectApiResponse[t.Any]:
3464
3554
  """
3465
- Renders a search template as a search request body.
3555
+ Render a search template. Render a search template as a search request body.
3466
3556
 
3467
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/render-search-template-api.html>`_
3557
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/render-search-template-api.html>`_
3468
3558
 
3469
3559
  :param id: ID of the search template to render. If no `source` is specified,
3470
3560
  this or the `id` request body parameter is required.
@@ -3517,6 +3607,7 @@ class Elasticsearch(BaseClient):
3517
3607
  @_rewrite_parameters(
3518
3608
  body_fields=("context", "context_setup", "script"),
3519
3609
  )
3610
+ @_stability_warning(Stability.EXPERIMENTAL)
3520
3611
  def scripts_painless_execute(
3521
3612
  self,
3522
3613
  *,
@@ -3530,9 +3621,9 @@ class Elasticsearch(BaseClient):
3530
3621
  body: t.Optional[t.Dict[str, t.Any]] = None,
3531
3622
  ) -> ObjectApiResponse[t.Any]:
3532
3623
  """
3533
- Runs a script and returns a result.
3624
+ Run a script. Runs a script and returns a result.
3534
3625
 
3535
- `<https://www.elastic.co/guide/en/elasticsearch/painless/8.15/painless-execute-api.html>`_
3626
+ `<https://www.elastic.co/guide/en/elasticsearch/painless/8.17/painless-execute-api.html>`_
3536
3627
 
3537
3628
  :param context: The context that the script should run in.
3538
3629
  :param context_setup: Additional parameters for the `context`.
@@ -3588,9 +3679,24 @@ class Elasticsearch(BaseClient):
3588
3679
  body: t.Optional[t.Dict[str, t.Any]] = None,
3589
3680
  ) -> ObjectApiResponse[t.Any]:
3590
3681
  """
3591
- Allows to retrieve a large numbers of results from a single search request.
3592
-
3593
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/search-request-body.html#request-body-search-scroll>`_
3682
+ Run a scrolling search. IMPORTANT: The scroll API is no longer recommend for
3683
+ deep pagination. If you need to preserve the index state while paging through
3684
+ more than 10,000 hits, use the `search_after` parameter with a point in time
3685
+ (PIT). The scroll API gets large sets of results from a single scrolling search
3686
+ request. To get the necessary scroll ID, submit a search API request that includes
3687
+ an argument for the `scroll` query parameter. The `scroll` parameter indicates
3688
+ how long Elasticsearch should retain the search context for the request. The
3689
+ search response returns a scroll ID in the `_scroll_id` response body parameter.
3690
+ You can then use the scroll ID with the scroll API to retrieve the next batch
3691
+ of results for the request. If the Elasticsearch security features are enabled,
3692
+ the access to the results of a specific scroll ID is restricted to the user or
3693
+ API key that submitted the search. You can also use the scroll API to specify
3694
+ a new scroll parameter that extends or shortens the retention period for the
3695
+ search context. IMPORTANT: Results from a scrolling search reflect the state
3696
+ of the index at the time of the initial search request. Subsequent indexing or
3697
+ document changes only affect later search and scroll requests.
3698
+
3699
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/search-request-body.html#request-body-search-scroll>`_
3594
3700
 
3595
3701
  :param scroll_id: Scroll ID of the search.
3596
3702
  :param rest_total_hits_as_int: If true, the API response’s hit.total property
@@ -3778,11 +3884,11 @@ class Elasticsearch(BaseClient):
3778
3884
  body: t.Optional[t.Dict[str, t.Any]] = None,
3779
3885
  ) -> ObjectApiResponse[t.Any]:
3780
3886
  """
3781
- Returns search hits that match the query defined in the request. You can provide
3782
- search queries using the `q` query string parameter or the request body. If both
3783
- are specified, only the query parameter is used.
3887
+ Run a search. Get search hits that match the query defined in the request. You
3888
+ can provide search queries using the `q` query string parameter or the request
3889
+ body. If both are specified, only the query parameter is used.
3784
3890
 
3785
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/search-search.html>`_
3891
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/search-search.html>`_
3786
3892
 
3787
3893
  :param index: Comma-separated list of data streams, indices, and aliases to search.
3788
3894
  Supports wildcards (`*`). To search all data streams and indices, omit this
@@ -4210,10 +4316,9 @@ class Elasticsearch(BaseClient):
4210
4316
  body: t.Optional[t.Dict[str, t.Any]] = None,
4211
4317
  ) -> BinaryApiResponse:
4212
4318
  """
4213
- Searches a vector tile for geospatial values. Returns results as a binary Mapbox
4214
- vector tile.
4319
+ Search a vector tile. Search a vector tile for geospatial values.
4215
4320
 
4216
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/search-vector-tile-api.html>`_
4321
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/search-vector-tile-api.html>`_
4217
4322
 
4218
4323
  :param index: Comma-separated list of data streams, indices, or aliases to search
4219
4324
  :param field: Field containing geospatial data to return
@@ -4365,10 +4470,12 @@ class Elasticsearch(BaseClient):
4365
4470
  routing: t.Optional[str] = None,
4366
4471
  ) -> ObjectApiResponse[t.Any]:
4367
4472
  """
4368
- Returns information about the indices and shards that a search request would
4369
- be executed against.
4473
+ Get the search shards. Get the indices and shards that a search request would
4474
+ be run against. This information can be useful for working out issues or planning
4475
+ optimizations with routing and shard preferences. When filtered aliases are used,
4476
+ the filter is returned as part of the indices section.
4370
4477
 
4371
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/search-shards.html>`_
4478
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/search-shards.html>`_
4372
4479
 
4373
4480
  :param index: Returns the indices and shards that a search request would be executed
4374
4481
  against.
@@ -4467,9 +4574,9 @@ class Elasticsearch(BaseClient):
4467
4574
  body: t.Optional[t.Dict[str, t.Any]] = None,
4468
4575
  ) -> ObjectApiResponse[t.Any]:
4469
4576
  """
4470
- Runs a search with a search template.
4577
+ Run a search with a search template.
4471
4578
 
4472
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/search-template.html>`_
4579
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/search-template.html>`_
4473
4580
 
4474
4581
  :param index: Comma-separated list of data streams, indices, and aliases to search.
4475
4582
  Supports wildcards (*).
@@ -4599,11 +4706,17 @@ class Elasticsearch(BaseClient):
4599
4706
  body: t.Optional[t.Dict[str, t.Any]] = None,
4600
4707
  ) -> ObjectApiResponse[t.Any]:
4601
4708
  """
4602
- The terms enum API can be used to discover terms in the index that begin with
4603
- the provided string. It is designed for low-latency look-ups used in auto-complete
4604
- scenarios.
4605
-
4606
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/search-terms-enum.html>`_
4709
+ Get terms in an index. Discover terms that match a partial string in an index.
4710
+ This "terms enum" API is designed for low-latency look-ups used in auto-complete
4711
+ scenarios. If the `complete` property in the response is false, the returned
4712
+ terms set may be incomplete and should be treated as approximate. This can occur
4713
+ due to a few reasons, such as a request timeout or a node error. NOTE: The terms
4714
+ enum API may return terms from deleted documents. Deleted documents are initially
4715
+ only marked as deleted. It is not until their segments are merged that documents
4716
+ are actually deleted. Until that happens, the terms enum API will return terms
4717
+ from these documents.
4718
+
4719
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/search-terms-enum.html>`_
4607
4720
 
4608
4721
  :param index: Comma-separated list of data streams, indices, and index aliases
4609
4722
  to search. Wildcard (*) expressions are supported.
@@ -4699,10 +4812,10 @@ class Elasticsearch(BaseClient):
4699
4812
  body: t.Optional[t.Dict[str, t.Any]] = None,
4700
4813
  ) -> ObjectApiResponse[t.Any]:
4701
4814
  """
4702
- Returns information and statistics about terms in the fields of a particular
4703
- document.
4815
+ Get term vector information. Get information and statistics about terms in the
4816
+ fields of a particular document.
4704
4817
 
4705
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/docs-termvectors.html>`_
4818
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/docs-termvectors.html>`_
4706
4819
 
4707
4820
  :param index: Name of the index that contains the document.
4708
4821
  :param id: Unique identifier of the document.
@@ -4842,9 +4955,10 @@ class Elasticsearch(BaseClient):
4842
4955
  body: t.Optional[t.Dict[str, t.Any]] = None,
4843
4956
  ) -> ObjectApiResponse[t.Any]:
4844
4957
  """
4845
- Updates a document with a script or partial document.
4958
+ Update a document. Updates a document by running a script or passing a partial
4959
+ document.
4846
4960
 
4847
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/docs-update.html>`_
4961
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/docs-update.html>`_
4848
4962
 
4849
4963
  :param index: The name of the index
4850
4964
  :param id: Document ID
@@ -5006,11 +5120,11 @@ class Elasticsearch(BaseClient):
5006
5120
  body: t.Optional[t.Dict[str, t.Any]] = None,
5007
5121
  ) -> ObjectApiResponse[t.Any]:
5008
5122
  """
5009
- Updates documents that match the specified query. If no query is specified, performs
5010
- an update on every document in the data stream or index without modifying the
5011
- source, which is useful for picking up mapping changes.
5123
+ Update documents. Updates documents that match the specified query. If no query
5124
+ is specified, performs an update on every document in the data stream or index
5125
+ without modifying the source, which is useful for picking up mapping changes.
5012
5126
 
5013
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/docs-update-by-query.html>`_
5127
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/docs-update-by-query.html>`_
5014
5128
 
5015
5129
  :param index: Comma-separated list of data streams, indices, and aliases to search.
5016
5130
  Supports wildcards (`*`). To search all data streams or indices, omit this
@@ -5204,9 +5318,12 @@ class Elasticsearch(BaseClient):
5204
5318
  requests_per_second: t.Optional[float] = None,
5205
5319
  ) -> ObjectApiResponse[t.Any]:
5206
5320
  """
5207
- Changes the number of requests per second for a particular Update By Query operation.
5321
+ Throttle an update by query operation. Change the number of requests per second
5322
+ for a particular update by query operation. Rethrottling that speeds up the query
5323
+ takes effect immediately but rethrotting that slows down the query takes effect
5324
+ after completing the current batch to prevent scroll timeouts.
5208
5325
 
5209
- `<https://www.elastic.co/guide/en/elasticsearch/reference/8.15/docs-update-by-query.html>`_
5326
+ `<https://www.elastic.co/guide/en/elasticsearch/reference/8.17/docs-update-by-query.html>`_
5210
5327
 
5211
5328
  :param task_id: The ID for the task.
5212
5329
  :param requests_per_second: The throttle for this request in sub-requests per