elasticsearch 9.0.2__py3-none-any.whl → 9.1.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 (110) hide show
  1. elasticsearch/__init__.py +3 -3
  2. elasticsearch/_async/client/__init__.py +88 -244
  3. elasticsearch/_async/client/async_search.py +4 -4
  4. elasticsearch/_async/client/autoscaling.py +4 -4
  5. elasticsearch/_async/client/cat.py +419 -51
  6. elasticsearch/_async/client/ccr.py +13 -13
  7. elasticsearch/_async/client/cluster.py +32 -22
  8. elasticsearch/_async/client/connector.py +30 -30
  9. elasticsearch/_async/client/dangling_indices.py +3 -3
  10. elasticsearch/_async/client/enrich.py +5 -5
  11. elasticsearch/_async/client/eql.py +14 -6
  12. elasticsearch/_async/client/esql.py +125 -9
  13. elasticsearch/_async/client/features.py +2 -2
  14. elasticsearch/_async/client/fleet.py +3 -3
  15. elasticsearch/_async/client/graph.py +1 -1
  16. elasticsearch/_async/client/ilm.py +11 -11
  17. elasticsearch/_async/client/indices.py +592 -113
  18. elasticsearch/_async/client/inference.py +521 -44
  19. elasticsearch/_async/client/ingest.py +9 -16
  20. elasticsearch/_async/client/license.py +11 -11
  21. elasticsearch/_async/client/logstash.py +3 -3
  22. elasticsearch/_async/client/migration.py +3 -3
  23. elasticsearch/_async/client/ml.py +75 -87
  24. elasticsearch/_async/client/monitoring.py +1 -1
  25. elasticsearch/_async/client/nodes.py +7 -7
  26. elasticsearch/_async/client/query_rules.py +8 -8
  27. elasticsearch/_async/client/rollup.py +9 -30
  28. elasticsearch/_async/client/search_application.py +10 -10
  29. elasticsearch/_async/client/searchable_snapshots.py +4 -4
  30. elasticsearch/_async/client/security.py +79 -81
  31. elasticsearch/_async/client/shutdown.py +3 -3
  32. elasticsearch/_async/client/simulate.py +1 -1
  33. elasticsearch/_async/client/slm.py +9 -9
  34. elasticsearch/_async/client/snapshot.py +64 -21
  35. elasticsearch/_async/client/sql.py +6 -6
  36. elasticsearch/_async/client/ssl.py +1 -1
  37. elasticsearch/_async/client/synonyms.py +26 -7
  38. elasticsearch/_async/client/tasks.py +4 -4
  39. elasticsearch/_async/client/text_structure.py +4 -4
  40. elasticsearch/_async/client/transform.py +11 -11
  41. elasticsearch/_async/client/watcher.py +17 -15
  42. elasticsearch/_async/client/xpack.py +2 -2
  43. elasticsearch/_otel.py +8 -8
  44. elasticsearch/_sync/client/__init__.py +88 -244
  45. elasticsearch/_sync/client/async_search.py +4 -4
  46. elasticsearch/_sync/client/autoscaling.py +4 -4
  47. elasticsearch/_sync/client/cat.py +419 -51
  48. elasticsearch/_sync/client/ccr.py +13 -13
  49. elasticsearch/_sync/client/cluster.py +32 -22
  50. elasticsearch/_sync/client/connector.py +30 -30
  51. elasticsearch/_sync/client/dangling_indices.py +3 -3
  52. elasticsearch/_sync/client/enrich.py +5 -5
  53. elasticsearch/_sync/client/eql.py +14 -6
  54. elasticsearch/_sync/client/esql.py +125 -9
  55. elasticsearch/_sync/client/features.py +2 -2
  56. elasticsearch/_sync/client/fleet.py +3 -3
  57. elasticsearch/_sync/client/graph.py +1 -1
  58. elasticsearch/_sync/client/ilm.py +11 -11
  59. elasticsearch/_sync/client/indices.py +592 -113
  60. elasticsearch/_sync/client/inference.py +521 -44
  61. elasticsearch/_sync/client/ingest.py +9 -16
  62. elasticsearch/_sync/client/license.py +11 -11
  63. elasticsearch/_sync/client/logstash.py +3 -3
  64. elasticsearch/_sync/client/migration.py +3 -3
  65. elasticsearch/_sync/client/ml.py +75 -87
  66. elasticsearch/_sync/client/monitoring.py +1 -1
  67. elasticsearch/_sync/client/nodes.py +7 -7
  68. elasticsearch/_sync/client/query_rules.py +8 -8
  69. elasticsearch/_sync/client/rollup.py +9 -30
  70. elasticsearch/_sync/client/search_application.py +10 -10
  71. elasticsearch/_sync/client/searchable_snapshots.py +4 -4
  72. elasticsearch/_sync/client/security.py +79 -81
  73. elasticsearch/_sync/client/shutdown.py +3 -3
  74. elasticsearch/_sync/client/simulate.py +1 -1
  75. elasticsearch/_sync/client/slm.py +9 -9
  76. elasticsearch/_sync/client/snapshot.py +64 -21
  77. elasticsearch/_sync/client/sql.py +6 -6
  78. elasticsearch/_sync/client/ssl.py +1 -1
  79. elasticsearch/_sync/client/synonyms.py +26 -7
  80. elasticsearch/_sync/client/tasks.py +4 -4
  81. elasticsearch/_sync/client/text_structure.py +4 -4
  82. elasticsearch/_sync/client/transform.py +11 -11
  83. elasticsearch/_sync/client/watcher.py +17 -15
  84. elasticsearch/_sync/client/xpack.py +2 -2
  85. elasticsearch/_version.py +1 -1
  86. elasticsearch/compat.py +5 -0
  87. elasticsearch/dsl/__init__.py +2 -1
  88. elasticsearch/dsl/aggs.py +20 -0
  89. elasticsearch/dsl/document_base.py +177 -17
  90. elasticsearch/dsl/field.py +230 -37
  91. elasticsearch/dsl/query.py +6 -3
  92. elasticsearch/dsl/response/__init__.py +1 -1
  93. elasticsearch/dsl/types.py +169 -11
  94. elasticsearch/dsl/utils.py +1 -1
  95. elasticsearch/{dsl/_sync/_sync_check → esql}/__init__.py +2 -0
  96. elasticsearch/esql/esql.py +1105 -0
  97. elasticsearch/esql/esql1.py1 +307 -0
  98. elasticsearch/esql/functions.py +1738 -0
  99. {elasticsearch-9.0.2.dist-info → elasticsearch-9.1.0.dist-info}/METADATA +3 -4
  100. elasticsearch-9.1.0.dist-info/RECORD +164 -0
  101. elasticsearch/dsl/_sync/_sync_check/document.py +0 -514
  102. elasticsearch/dsl/_sync/_sync_check/faceted_search.py +0 -50
  103. elasticsearch/dsl/_sync/_sync_check/index.py +0 -597
  104. elasticsearch/dsl/_sync/_sync_check/mapping.py +0 -49
  105. elasticsearch/dsl/_sync/_sync_check/search.py +0 -230
  106. elasticsearch/dsl/_sync/_sync_check/update_by_query.py +0 -45
  107. elasticsearch-9.0.2.dist-info/RECORD +0 -167
  108. {elasticsearch-9.0.2.dist-info → elasticsearch-9.1.0.dist-info}/WHEEL +0 -0
  109. {elasticsearch-9.0.2.dist-info → elasticsearch-9.1.0.dist-info}/licenses/LICENSE +0 -0
  110. {elasticsearch-9.0.2.dist-info → elasticsearch-9.1.0.dist-info}/licenses/NOTICE +0 -0
@@ -637,9 +637,11 @@ class AsyncElasticsearch(BaseClient):
637
637
  Imagine a <code>_bulk?refresh=wait_for</code> request with three documents in it that happen to be routed to different shards in an index with five shards.
638
638
  The request will only wait for those three shards to refresh.
639
639
  The other two shards that make up the index do not participate in the <code>_bulk</code> request at all.</p>
640
+ <p>You might want to disable the refresh interval temporarily to improve indexing throughput for large bulk requests.
641
+ Refer to the linked documentation for step-by-step instructions using the index settings API.</p>
640
642
 
641
643
 
642
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-bulk>`_
644
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-bulk>`_
643
645
 
644
646
  :param operations:
645
647
  :param index: The name of the data stream, index, or index alias to perform bulk
@@ -764,7 +766,7 @@ class AsyncElasticsearch(BaseClient):
764
766
  Clear the search context and results for a scrolling search.</p>
765
767
 
766
768
 
767
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-clear-scroll>`_
769
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-clear-scroll>`_
768
770
 
769
771
  :param scroll_id: The scroll IDs to clear. To clear all scroll IDs, use `_all`.
770
772
  """
@@ -821,7 +823,7 @@ class AsyncElasticsearch(BaseClient):
821
823
  However, keeping points in time has a cost; close them as soon as they are no longer required for search requests.</p>
822
824
 
823
825
 
824
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-open-point-in-time>`_
826
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-open-point-in-time>`_
825
827
 
826
828
  :param id: The ID of the point-in-time.
827
829
  """
@@ -905,7 +907,7 @@ class AsyncElasticsearch(BaseClient):
905
907
  This means that replicas increase the scalability of the count.</p>
906
908
 
907
909
 
908
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-count>`_
910
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-count>`_
909
911
 
910
912
  :param index: A comma-separated list of data streams, indices, and aliases to
911
913
  search. It supports wildcards (`*`). To search all data streams and indices,
@@ -1029,10 +1031,7 @@ class AsyncElasticsearch(BaseClient):
1029
1031
  error_trace: t.Optional[bool] = None,
1030
1032
  filter_path: t.Optional[t.Union[str, t.Sequence[str]]] = None,
1031
1033
  human: t.Optional[bool] = None,
1032
- if_primary_term: t.Optional[int] = None,
1033
- if_seq_no: t.Optional[int] = None,
1034
1034
  include_source_on_error: t.Optional[bool] = None,
1035
- op_type: t.Optional[t.Union[str, t.Literal["create", "index"]]] = None,
1036
1035
  pipeline: t.Optional[str] = None,
1037
1036
  pretty: t.Optional[bool] = None,
1038
1037
  refresh: t.Optional[
@@ -1107,7 +1106,7 @@ class AsyncElasticsearch(BaseClient):
1107
1106
  The <code>_shards</code> section of the API response reveals the number of shard copies on which replication succeeded and failed.</p>
1108
1107
 
1109
1108
 
1110
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-create>`_
1109
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-create>`_
1111
1110
 
1112
1111
  :param index: The name of the data stream or index to target. If the target doesn't
1113
1112
  exist and matches the name or wildcard (`*`) pattern of an index template
@@ -1117,18 +1116,8 @@ class AsyncElasticsearch(BaseClient):
1117
1116
  :param id: A unique identifier for the document. To automatically generate a
1118
1117
  document ID, use the `POST /<target>/_doc/` request format.
1119
1118
  :param document:
1120
- :param if_primary_term: Only perform the operation if the document has this primary
1121
- term.
1122
- :param if_seq_no: Only perform the operation if the document has this sequence
1123
- number.
1124
1119
  :param include_source_on_error: True or false if to include the document source
1125
1120
  in the error message in case of parsing errors.
1126
- :param op_type: Set to `create` to only index the document if it does not already
1127
- exist (put if absent). If a document with the specified `_id` already exists,
1128
- the indexing operation will fail. The behavior is the same as using the `<index>/_create`
1129
- endpoint. If a document ID is specified, this paramater defaults to `index`.
1130
- Otherwise, it defaults to `create`. If the request targets a data stream,
1131
- an `op_type` of `create` is required.
1132
1121
  :param pipeline: The ID of the pipeline to use to preprocess incoming documents.
1133
1122
  If the index has a default ingest pipeline specified, setting the value to
1134
1123
  `_none` turns off the default ingest pipeline for this request. If a final
@@ -1180,14 +1169,8 @@ class AsyncElasticsearch(BaseClient):
1180
1169
  __query["filter_path"] = filter_path
1181
1170
  if human is not None:
1182
1171
  __query["human"] = human
1183
- if if_primary_term is not None:
1184
- __query["if_primary_term"] = if_primary_term
1185
- if if_seq_no is not None:
1186
- __query["if_seq_no"] = if_seq_no
1187
1172
  if include_source_on_error is not None:
1188
1173
  __query["include_source_on_error"] = include_source_on_error
1189
- if op_type is not None:
1190
- __query["op_type"] = op_type
1191
1174
  if pipeline is not None:
1192
1175
  __query["pipeline"] = pipeline
1193
1176
  if pretty is not None:
@@ -1274,7 +1257,7 @@ class AsyncElasticsearch(BaseClient):
1274
1257
  It then gets redirected into the primary shard within that ID group and replicated (if needed) to shard replicas within that ID group.</p>
1275
1258
 
1276
1259
 
1277
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-delete>`_
1260
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-delete>`_
1278
1261
 
1279
1262
  :param index: The name of the target index.
1280
1263
  :param id: A unique identifier for the document.
@@ -1463,7 +1446,7 @@ class AsyncElasticsearch(BaseClient):
1463
1446
  The get task status API will continue to list the delete by query task until this task checks that it has been cancelled and terminates itself.</p>
1464
1447
 
1465
1448
 
1466
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-delete-by-query>`_
1449
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-delete-by-query>`_
1467
1450
 
1468
1451
  :param index: A comma-separated list of data streams, indices, and aliases to
1469
1452
  search. It supports wildcards (`*`). To search all data streams or indices,
@@ -1645,7 +1628,7 @@ class AsyncElasticsearch(BaseClient):
1645
1628
  async def delete_by_query_rethrottle(
1646
1629
  self,
1647
1630
  *,
1648
- task_id: t.Union[int, str],
1631
+ task_id: str,
1649
1632
  error_trace: t.Optional[bool] = None,
1650
1633
  filter_path: t.Optional[t.Union[str, t.Sequence[str]]] = None,
1651
1634
  human: t.Optional[bool] = None,
@@ -1660,7 +1643,7 @@ class AsyncElasticsearch(BaseClient):
1660
1643
  Rethrottling that speeds up the query takes effect immediately but rethrotting that slows down the query takes effect after completing the current batch to prevent scroll timeouts.</p>
1661
1644
 
1662
1645
 
1663
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-delete-by-query-rethrottle>`_
1646
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-delete-by-query-rethrottle>`_
1664
1647
 
1665
1648
  :param task_id: The ID for the task.
1666
1649
  :param requests_per_second: The throttle for this request in sub-requests per
@@ -1710,7 +1693,7 @@ class AsyncElasticsearch(BaseClient):
1710
1693
  Deletes a stored script or search template.</p>
1711
1694
 
1712
1695
 
1713
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-delete-script>`_
1696
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-delete-script>`_
1714
1697
 
1715
1698
  :param id: The identifier for the stored script or search template.
1716
1699
  :param master_timeout: The period to wait for a connection to the master node.
@@ -1794,7 +1777,7 @@ class AsyncElasticsearch(BaseClient):
1794
1777
  Elasticsearch cleans up deleted documents in the background as you continue to index more data.</p>
1795
1778
 
1796
1779
 
1797
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-get>`_
1780
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-get>`_
1798
1781
 
1799
1782
  :param index: A comma-separated list of data streams, indices, and aliases. It
1800
1783
  supports wildcards (`*`).
@@ -1917,7 +1900,7 @@ class AsyncElasticsearch(BaseClient):
1917
1900
  <p>A document's source is not available if it is disabled in the mapping.</p>
1918
1901
 
1919
1902
 
1920
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-get>`_
1903
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-get>`_
1921
1904
 
1922
1905
  :param index: A comma-separated list of data streams, indices, and aliases. It
1923
1906
  supports wildcards (`*`).
@@ -2023,7 +2006,7 @@ class AsyncElasticsearch(BaseClient):
2023
2006
  It computes a score explanation for a query and a specific document.</p>
2024
2007
 
2025
2008
 
2026
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-explain>`_
2009
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-explain>`_
2027
2010
 
2028
2011
  :param index: Index names that are used to limit the request. Only a single index
2029
2012
  name can be provided to this parameter.
@@ -2158,7 +2141,7 @@ class AsyncElasticsearch(BaseClient):
2158
2141
  For example, a runtime field with a type of keyword is returned the same as any other field that belongs to the <code>keyword</code> family.</p>
2159
2142
 
2160
2143
 
2161
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-field-caps>`_
2144
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-field-caps>`_
2162
2145
 
2163
2146
  :param index: A comma-separated list of data streams, indices, and aliases used
2164
2147
  to limit the request. Supports wildcards (*). To target all data streams
@@ -2319,12 +2302,12 @@ class AsyncElasticsearch(BaseClient):
2319
2302
  Elasticsearch cleans up deleted documents in the background as you continue to index more data.</p>
2320
2303
 
2321
2304
 
2322
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-get>`_
2305
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-get>`_
2323
2306
 
2324
2307
  :param index: The name of the index that contains the document.
2325
2308
  :param id: A unique document identifier.
2326
2309
  :param force_synthetic_source: Indicates whether the request forces synthetic
2327
- `_source`. Use this paramater to test if the mapping supports synthetic `_source`
2310
+ `_source`. Use this parameter to test if the mapping supports synthetic `_source`
2328
2311
  and to get a sense of the worst case performance. Fetches with this parameter
2329
2312
  enabled will be slower than enabling synthetic source natively in the index.
2330
2313
  :param preference: The node or shard the operation should be performed on. By
@@ -2355,8 +2338,8 @@ class AsyncElasticsearch(BaseClient):
2355
2338
  :param stored_fields: A comma-separated list of stored fields to return as part
2356
2339
  of a hit. If no fields are specified, no stored fields are included in the
2357
2340
  response. If this field is specified, the `_source` parameter defaults to
2358
- `false`. Only leaf fields can be retrieved with the `stored_field` option.
2359
- Object fields can't be returned;​if specified, the request fails.
2341
+ `false`. Only leaf fields can be retrieved with the `stored_fields` option.
2342
+ Object fields can't be returned; if specified, the request fails.
2360
2343
  :param version: The version number for concurrency control. It must match the
2361
2344
  current version of the document for the request to succeed.
2362
2345
  :param version_type: The version type.
@@ -2426,7 +2409,7 @@ class AsyncElasticsearch(BaseClient):
2426
2409
  Retrieves a stored script or search template.</p>
2427
2410
 
2428
2411
 
2429
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-get-script>`_
2412
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-get-script>`_
2430
2413
 
2431
2414
  :param id: The identifier for the stored script or search template.
2432
2415
  :param master_timeout: The period to wait for the master node. If the master
@@ -2475,7 +2458,7 @@ class AsyncElasticsearch(BaseClient):
2475
2458
  <p>Get a list of supported script contexts and their methods.</p>
2476
2459
 
2477
2460
 
2478
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-get-script-context>`_
2461
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-get-script-context>`_
2479
2462
  """
2480
2463
  __path_parts: t.Dict[str, str] = {}
2481
2464
  __path = "/_script_context"
@@ -2514,7 +2497,7 @@ class AsyncElasticsearch(BaseClient):
2514
2497
  <p>Get a list of available script types, languages, and contexts.</p>
2515
2498
 
2516
2499
 
2517
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-get-script-languages>`_
2500
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-get-script-languages>`_
2518
2501
  """
2519
2502
  __path_parts: t.Dict[str, str] = {}
2520
2503
  __path = "/_script_language"
@@ -2560,7 +2543,6 @@ class AsyncElasticsearch(BaseClient):
2560
2543
  source: t.Optional[t.Union[bool, t.Union[str, t.Sequence[str]]]] = None,
2561
2544
  source_excludes: t.Optional[t.Union[str, t.Sequence[str]]] = None,
2562
2545
  source_includes: t.Optional[t.Union[str, t.Sequence[str]]] = None,
2563
- stored_fields: t.Optional[t.Union[str, t.Sequence[str]]] = None,
2564
2546
  version: t.Optional[int] = None,
2565
2547
  version_type: t.Optional[
2566
2548
  t.Union[str, t.Literal["external", "external_gte", "force", "internal"]]
@@ -2579,7 +2561,7 @@ class AsyncElasticsearch(BaseClient):
2579
2561
  </code></pre>
2580
2562
 
2581
2563
 
2582
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-get>`_
2564
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-get>`_
2583
2565
 
2584
2566
  :param index: The name of the index that contains the document.
2585
2567
  :param id: A unique document identifier.
@@ -2597,8 +2579,6 @@ class AsyncElasticsearch(BaseClient):
2597
2579
  the response.
2598
2580
  :param source_includes: A comma-separated list of source fields to include in
2599
2581
  the response.
2600
- :param stored_fields: A comma-separated list of stored fields to return as part
2601
- of a hit.
2602
2582
  :param version: The version number for concurrency control. It must match the
2603
2583
  current version of the document for the request to succeed.
2604
2584
  :param version_type: The version type.
@@ -2632,8 +2612,6 @@ class AsyncElasticsearch(BaseClient):
2632
2612
  __query["_source_excludes"] = source_excludes
2633
2613
  if source_includes is not None:
2634
2614
  __query["_source_includes"] = source_includes
2635
- if stored_fields is not None:
2636
- __query["stored_fields"] = stored_fields
2637
2615
  if version is not None:
2638
2616
  __query["version"] = version
2639
2617
  if version_type is not None:
@@ -2679,7 +2657,7 @@ class AsyncElasticsearch(BaseClient):
2679
2657
  When setting up automated polling of the API for health status, set verbose to false to disable the more expensive analysis logic.</p>
2680
2658
 
2681
2659
 
2682
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-health-report>`_
2660
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-health-report>`_
2683
2661
 
2684
2662
  :param feature: A feature of the cluster, as returned by the top-level health
2685
2663
  report API.
@@ -2742,6 +2720,7 @@ class AsyncElasticsearch(BaseClient):
2742
2720
  t.Union[bool, str, t.Literal["false", "true", "wait_for"]]
2743
2721
  ] = None,
2744
2722
  require_alias: t.Optional[bool] = None,
2723
+ require_data_stream: t.Optional[bool] = None,
2745
2724
  routing: t.Optional[str] = None,
2746
2725
  timeout: t.Optional[t.Union[str, t.Literal[-1], t.Literal[0]]] = None,
2747
2726
  version: t.Optional[int] = None,
@@ -2844,7 +2823,7 @@ class AsyncElasticsearch(BaseClient):
2844
2823
  </code></pre>
2845
2824
 
2846
2825
 
2847
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-create>`_
2826
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-create>`_
2848
2827
 
2849
2828
  :param index: The name of the data stream or index to target. If the target doesn't
2850
2829
  exist and matches the name or wildcard (`*`) pattern of an index template
@@ -2877,6 +2856,8 @@ class AsyncElasticsearch(BaseClient):
2877
2856
  this operation visible to search. If `wait_for`, it waits for a refresh to
2878
2857
  make this operation visible to search. If `false`, it does nothing with refreshes.
2879
2858
  :param require_alias: If `true`, the destination must be an index alias.
2859
+ :param require_data_stream: If `true`, the request's actions must target a data
2860
+ stream (existing or to be created).
2880
2861
  :param routing: A custom value that is used to route operations to a specific
2881
2862
  shard.
2882
2863
  :param timeout: The period the request waits for the following operations: automatic
@@ -2938,6 +2919,8 @@ class AsyncElasticsearch(BaseClient):
2938
2919
  __query["refresh"] = refresh
2939
2920
  if require_alias is not None:
2940
2921
  __query["require_alias"] = require_alias
2922
+ if require_data_stream is not None:
2923
+ __query["require_data_stream"] = require_data_stream
2941
2924
  if routing is not None:
2942
2925
  __query["routing"] = routing
2943
2926
  if timeout is not None:
@@ -2973,10 +2956,11 @@ class AsyncElasticsearch(BaseClient):
2973
2956
  .. raw:: html
2974
2957
 
2975
2958
  <p>Get cluster info.
2976
- Get basic build, version, and cluster information.</p>
2959
+ Get basic build, version, and cluster information.
2960
+ ::: In Serverless, this API is retained for backward compatibility only. Some response fields, such as the version number, should be ignored.</p>
2977
2961
 
2978
2962
 
2979
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/group/endpoint-info>`_
2963
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/group/endpoint-info>`_
2980
2964
  """
2981
2965
  __path_parts: t.Dict[str, str] = {}
2982
2966
  __path = "/"
@@ -3045,7 +3029,7 @@ class AsyncElasticsearch(BaseClient):
3045
3029
  You can include the <code>stored_fields</code> query parameter in the request URI to specify the defaults to use when there are no per-document instructions.</p>
3046
3030
 
3047
3031
 
3048
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-mget>`_
3032
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-mget>`_
3049
3033
 
3050
3034
  :param index: Name of the index to retrieve documents from when `ids` are specified,
3051
3035
  or when a document in the `docs` array does not specify an index.
@@ -3180,7 +3164,7 @@ class AsyncElasticsearch(BaseClient):
3180
3164
  When sending requests to this endpoint the <code>Content-Type</code> header should be set to <code>application/x-ndjson</code>.</p>
3181
3165
 
3182
3166
 
3183
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-msearch>`_
3167
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-msearch>`_
3184
3168
 
3185
3169
  :param searches:
3186
3170
  :param index: Comma-separated list of data streams, indices, and index aliases
@@ -3327,7 +3311,7 @@ class AsyncElasticsearch(BaseClient):
3327
3311
  </code></pre>
3328
3312
 
3329
3313
 
3330
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-msearch-template>`_
3314
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-msearch-template>`_
3331
3315
 
3332
3316
  :param search_templates:
3333
3317
  :param index: A comma-separated list of data streams, indices, and aliases to
@@ -3432,7 +3416,7 @@ class AsyncElasticsearch(BaseClient):
3432
3416
  The mapping used is determined by the specified <code>_index</code>.</p>
3433
3417
 
3434
3418
 
3435
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-mtermvectors>`_
3419
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-mtermvectors>`_
3436
3420
 
3437
3421
  :param index: The name of the index that contains the documents.
3438
3422
  :param docs: An array of existing or artificial documents.
@@ -3573,7 +3557,7 @@ class AsyncElasticsearch(BaseClient):
3573
3557
  You can check how many point-in-times (that is, search contexts) are open with the nodes stats API.</p>
3574
3558
 
3575
3559
 
3576
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-open-point-in-time>`_
3560
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-open-point-in-time>`_
3577
3561
 
3578
3562
  :param index: A comma-separated list of index names to open point in time; use
3579
3563
  `_all` or empty string to perform the operation on all indices
@@ -3586,8 +3570,7 @@ class AsyncElasticsearch(BaseClient):
3586
3570
  :param expand_wildcards: The type of index that wildcard patterns can match.
3587
3571
  If the request can target data streams, this argument determines whether
3588
3572
  wildcard expressions match hidden data streams. It supports comma-separated
3589
- values, such as `open,hidden`. Valid values are: `all`, `open`, `closed`,
3590
- `hidden`, `none`.
3573
+ values, such as `open,hidden`.
3591
3574
  :param ignore_unavailable: If `false`, the request returns an error if it targets
3592
3575
  a missing or closed index.
3593
3576
  :param index_filter: Filter indices if the provided query rewrites to `match_none`
@@ -3671,7 +3654,7 @@ class AsyncElasticsearch(BaseClient):
3671
3654
  Creates or updates a stored script or search template.</p>
3672
3655
 
3673
3656
 
3674
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-put-script>`_
3657
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-put-script>`_
3675
3658
 
3676
3659
  :param id: The identifier for the stored script or search template. It must be
3677
3660
  unique within the cluster.
@@ -3761,7 +3744,7 @@ class AsyncElasticsearch(BaseClient):
3761
3744
  <p>Evaluate the quality of ranked search results over a set of typical search queries.</p>
3762
3745
 
3763
3746
 
3764
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-rank-eval>`_
3747
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-rank-eval>`_
3765
3748
 
3766
3749
  :param requests: A set of typical search requests, together with their provided
3767
3750
  ratings.
@@ -3887,113 +3870,10 @@ class AsyncElasticsearch(BaseClient):
3887
3870
  In this case, the response includes a count of the version conflicts that were encountered.
3888
3871
  Note that the handling of other error types is unaffected by the <code>conflicts</code> property.
3889
3872
  Additionally, if you opt to count version conflicts, the operation could attempt to reindex more documents from the source than <code>max_docs</code> until it has successfully indexed <code>max_docs</code> documents into the target or it has gone through every document in the source query.</p>
3890
- <p>NOTE: The reindex API makes no effort to handle ID collisions.
3891
- The last document written will &quot;win&quot; but the order isn't usually predictable so it is not a good idea to rely on this behavior.
3892
- Instead, make sure that IDs are unique by using a script.</p>
3893
- <p><strong>Running reindex asynchronously</strong></p>
3894
- <p>If the request contains <code>wait_for_completion=false</code>, Elasticsearch performs some preflight checks, launches the request, and returns a task you can use to cancel or get the status of the task.
3895
- Elasticsearch creates a record of this task as a document at <code>_tasks/&lt;task_id&gt;</code>.</p>
3896
- <p><strong>Reindex from multiple sources</strong></p>
3897
- <p>If you have many sources to reindex it is generally better to reindex them one at a time rather than using a glob pattern to pick up multiple sources.
3898
- That way you can resume the process if there are any errors by removing the partially completed source and starting over.
3899
- It also makes parallelizing the process fairly simple: split the list of sources to reindex and run each list in parallel.</p>
3900
- <p>For example, you can use a bash script like this:</p>
3901
- <pre><code>for index in i1 i2 i3 i4 i5; do
3902
- curl -HContent-Type:application/json -XPOST localhost:9200/_reindex?pretty -d'{
3903
- &quot;source&quot;: {
3904
- &quot;index&quot;: &quot;'$index'&quot;
3905
- },
3906
- &quot;dest&quot;: {
3907
- &quot;index&quot;: &quot;'$index'-reindexed&quot;
3908
- }
3909
- }'
3910
- done
3911
- </code></pre>
3912
- <p><strong>Throttling</strong></p>
3913
- <p>Set <code>requests_per_second</code> to any positive decimal number (<code>1.4</code>, <code>6</code>, <code>1000</code>, for example) to throttle the rate at which reindex issues batches of index operations.
3914
- Requests are throttled by padding each batch with a wait time.
3915
- To turn off throttling, set <code>requests_per_second</code> to <code>-1</code>.</p>
3916
- <p>The throttling is done by waiting between batches so that the scroll that reindex uses internally can be given a timeout that takes into account the padding.
3917
- The padding time is the difference between the batch size divided by the <code>requests_per_second</code> and the time spent writing.
3918
- By default the batch size is <code>1000</code>, so if <code>requests_per_second</code> is set to <code>500</code>:</p>
3919
- <pre><code>target_time = 1000 / 500 per second = 2 seconds
3920
- wait_time = target_time - write_time = 2 seconds - .5 seconds = 1.5 seconds
3921
- </code></pre>
3922
- <p>Since the batch is issued as a single bulk request, large batch sizes cause Elasticsearch to create many requests and then wait for a while before starting the next set.
3923
- This is &quot;bursty&quot; instead of &quot;smooth&quot;.</p>
3924
- <p><strong>Slicing</strong></p>
3925
- <p>Reindex supports sliced scroll to parallelize the reindexing process.
3926
- This parallelization can improve efficiency and provide a convenient way to break the request down into smaller parts.</p>
3927
- <p>NOTE: Reindexing from remote clusters does not support manual or automatic slicing.</p>
3928
- <p>You can slice a reindex request manually by providing a slice ID and total number of slices to each request.
3929
- You can also let reindex automatically parallelize by using sliced scroll to slice on <code>_id</code>.
3930
- The <code>slices</code> parameter specifies the number of slices to use.</p>
3931
- <p>Adding <code>slices</code> to the reindex request just automates the manual process, creating sub-requests which means it has some quirks:</p>
3932
- <ul>
3933
- <li>You can see these requests in the tasks API. These sub-requests are &quot;child&quot; tasks of the task for the request with slices.</li>
3934
- <li>Fetching the status of the task for the request with <code>slices</code> only contains the status of completed slices.</li>
3935
- <li>These sub-requests are individually addressable for things like cancellation and rethrottling.</li>
3936
- <li>Rethrottling the request with <code>slices</code> will rethrottle the unfinished sub-request proportionally.</li>
3937
- <li>Canceling the request with <code>slices</code> will cancel each sub-request.</li>
3938
- <li>Due to the nature of <code>slices</code>, each sub-request won't get a perfectly even portion of the documents. All documents will be addressed, but some slices may be larger than others. Expect larger slices to have a more even distribution.</li>
3939
- <li>Parameters like <code>requests_per_second</code> and <code>max_docs</code> on a request with <code>slices</code> are distributed proportionally to each sub-request. Combine that with the previous point about distribution being uneven and you should conclude that using <code>max_docs</code> with <code>slices</code> might not result in exactly <code>max_docs</code> documents being reindexed.</li>
3940
- <li>Each sub-request gets a slightly different snapshot of the source, though these are all taken at approximately the same time.</li>
3941
- </ul>
3942
- <p>If slicing automatically, setting <code>slices</code> to <code>auto</code> will choose a reasonable number for most indices.
3943
- If slicing manually or otherwise tuning automatic slicing, use the following guidelines.</p>
3944
- <p>Query performance is most efficient when the number of slices is equal to the number of shards in the index.
3945
- If that number is large (for example, <code>500</code>), choose a lower number as too many slices will hurt performance.
3946
- Setting slices higher than the number of shards generally does not improve efficiency and adds overhead.</p>
3947
- <p>Indexing performance scales linearly across available resources with the number of slices.</p>
3948
- <p>Whether query or indexing performance dominates the runtime depends on the documents being reindexed and cluster resources.</p>
3949
- <p><strong>Modify documents during reindexing</strong></p>
3950
- <p>Like <code>_update_by_query</code>, reindex operations support a script that modifies the document.
3951
- Unlike <code>_update_by_query</code>, the script is allowed to modify the document's metadata.</p>
3952
- <p>Just as in <code>_update_by_query</code>, you can set <code>ctx.op</code> to change the operation that is run on the destination.
3953
- For example, set <code>ctx.op</code> to <code>noop</code> if your script decides that the document doesn’t have to be indexed in the destination. This &quot;no operation&quot; will be reported in the <code>noop</code> counter in the response body.
3954
- Set <code>ctx.op</code> to <code>delete</code> if your script decides that the document must be deleted from the destination.
3955
- The deletion will be reported in the <code>deleted</code> counter in the response body.
3956
- Setting <code>ctx.op</code> to anything else will return an error, as will setting any other field in <code>ctx</code>.</p>
3957
- <p>Think of the possibilities! Just be careful; you are able to change:</p>
3958
- <ul>
3959
- <li><code>_id</code></li>
3960
- <li><code>_index</code></li>
3961
- <li><code>_version</code></li>
3962
- <li><code>_routing</code></li>
3963
- </ul>
3964
- <p>Setting <code>_version</code> to <code>null</code> or clearing it from the <code>ctx</code> map is just like not sending the version in an indexing request.
3965
- It will cause the document to be overwritten in the destination regardless of the version on the target or the version type you use in the reindex API.</p>
3966
- <p><strong>Reindex from remote</strong></p>
3967
- <p>Reindex supports reindexing from a remote Elasticsearch cluster.
3968
- The <code>host</code> parameter must contain a scheme, host, port, and optional path.
3969
- The <code>username</code> and <code>password</code> parameters are optional and when they are present the reindex operation will connect to the remote Elasticsearch node using basic authentication.
3970
- Be sure to use HTTPS when using basic authentication or the password will be sent in plain text.
3971
- There are a range of settings available to configure the behavior of the HTTPS connection.</p>
3972
- <p>When using Elastic Cloud, it is also possible to authenticate against the remote cluster through the use of a valid API key.
3973
- Remote hosts must be explicitly allowed with the <code>reindex.remote.whitelist</code> setting.
3974
- It can be set to a comma delimited list of allowed remote host and port combinations.
3975
- Scheme is ignored; only the host and port are used.
3976
- For example:</p>
3977
- <pre><code>reindex.remote.whitelist: [otherhost:9200, another:9200, 127.0.10.*:9200, localhost:*&quot;]
3978
- </code></pre>
3979
- <p>The list of allowed hosts must be configured on any nodes that will coordinate the reindex.
3980
- This feature should work with remote clusters of any version of Elasticsearch.
3981
- This should enable you to upgrade from any version of Elasticsearch to the current version by reindexing from a cluster of the old version.</p>
3982
- <p>WARNING: Elasticsearch does not support forward compatibility across major versions.
3983
- For example, you cannot reindex from a 7.x cluster into a 6.x cluster.</p>
3984
- <p>To enable queries sent to older versions of Elasticsearch, the <code>query</code> parameter is sent directly to the remote host without validation or modification.</p>
3985
- <p>NOTE: Reindexing from remote clusters does not support manual or automatic slicing.</p>
3986
- <p>Reindexing from a remote server uses an on-heap buffer that defaults to a maximum size of 100mb.
3987
- If the remote index includes very large documents you'll need to use a smaller batch size.
3988
- It is also possible to set the socket read timeout on the remote connection with the <code>socket_timeout</code> field and the connection timeout with the <code>connect_timeout</code> field.
3989
- Both default to 30 seconds.</p>
3990
- <p><strong>Configuring SSL parameters</strong></p>
3991
- <p>Reindex from remote supports configurable SSL settings.
3992
- These must be specified in the <code>elasticsearch.yml</code> file, with the exception of the secure settings, which you add in the Elasticsearch keystore.
3993
- It is not possible to configure SSL in the body of the reindex request.</p>
3994
-
3995
-
3996
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-reindex>`_
3873
+ <p>Refer to the linked documentation for examples of how to reindex documents.</p>
3874
+
3875
+
3876
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-reindex>`_
3997
3877
 
3998
3878
  :param dest: The destination you are copying to.
3999
3879
  :param source: The source you are copying from.
@@ -4117,7 +3997,7 @@ class AsyncElasticsearch(BaseClient):
4117
3997
  This behavior prevents scroll timeouts.</p>
4118
3998
 
4119
3999
 
4120
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-reindex>`_
4000
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-reindex>`_
4121
4001
 
4122
4002
  :param task_id: The task identifier, which can be found by using the tasks API.
4123
4003
  :param requests_per_second: The throttle for this request in sub-requests per
@@ -4173,7 +4053,7 @@ class AsyncElasticsearch(BaseClient):
4173
4053
  <p>Render a search template as a search request body.</p>
4174
4054
 
4175
4055
 
4176
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-render-search-template>`_
4056
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-render-search-template>`_
4177
4057
 
4178
4058
  :param id: The ID of the search template to render. If no `source` is specified,
4179
4059
  this or the `id` request body parameter is required.
@@ -4340,7 +4220,7 @@ class AsyncElasticsearch(BaseClient):
4340
4220
  <p>IMPORTANT: Results from a scrolling search reflect the state of the index at the time of the initial search request. Subsequent indexing or document changes only affect later search and scroll requests.</p>
4341
4221
 
4342
4222
 
4343
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-scroll>`_
4223
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-scroll>`_
4344
4224
 
4345
4225
  :param scroll_id: The scroll ID of the search.
4346
4226
  :param rest_total_hits_as_int: If true, the API response’s hit.total property
@@ -4545,7 +4425,7 @@ class AsyncElasticsearch(BaseClient):
4545
4425
  This situation can occur because the splitting criterion is based on Lucene document IDs, which are not stable across changes to the index.</p>
4546
4426
 
4547
4427
 
4548
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-search>`_
4428
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-search>`_
4549
4429
 
4550
4430
  :param index: A comma-separated list of data streams, indices, and aliases to
4551
4431
  search. It supports wildcards (`*`). To search all data streams and indices,
@@ -4992,51 +4872,6 @@ class AsyncElasticsearch(BaseClient):
4992
4872
  <li>Optionally, a <code>geo_bounds</code> aggregation on the <code>&lt;field&gt;</code>. The search only includes this aggregation if the <code>exact_bounds</code> parameter is <code>true</code>.</li>
4993
4873
  <li>If the optional parameter <code>with_labels</code> is <code>true</code>, the internal search will include a dynamic runtime field that calls the <code>getLabelPosition</code> function of the geometry doc value. This enables the generation of new point features containing suggested geometry labels, so that, for example, multi-polygons will have only one label.</li>
4994
4874
  </ul>
4995
- <p>For example, Elasticsearch may translate a vector tile search API request with a <code>grid_agg</code> argument of <code>geotile</code> and an <code>exact_bounds</code> argument of <code>true</code> into the following search</p>
4996
- <pre><code>GET my-index/_search
4997
- {
4998
- &quot;size&quot;: 10000,
4999
- &quot;query&quot;: {
5000
- &quot;geo_bounding_box&quot;: {
5001
- &quot;my-geo-field&quot;: {
5002
- &quot;top_left&quot;: {
5003
- &quot;lat&quot;: -40.979898069620134,
5004
- &quot;lon&quot;: -45
5005
- },
5006
- &quot;bottom_right&quot;: {
5007
- &quot;lat&quot;: -66.51326044311186,
5008
- &quot;lon&quot;: 0
5009
- }
5010
- }
5011
- }
5012
- },
5013
- &quot;aggregations&quot;: {
5014
- &quot;grid&quot;: {
5015
- &quot;geotile_grid&quot;: {
5016
- &quot;field&quot;: &quot;my-geo-field&quot;,
5017
- &quot;precision&quot;: 11,
5018
- &quot;size&quot;: 65536,
5019
- &quot;bounds&quot;: {
5020
- &quot;top_left&quot;: {
5021
- &quot;lat&quot;: -40.979898069620134,
5022
- &quot;lon&quot;: -45
5023
- },
5024
- &quot;bottom_right&quot;: {
5025
- &quot;lat&quot;: -66.51326044311186,
5026
- &quot;lon&quot;: 0
5027
- }
5028
- }
5029
- }
5030
- },
5031
- &quot;bounds&quot;: {
5032
- &quot;geo_bounds&quot;: {
5033
- &quot;field&quot;: &quot;my-geo-field&quot;,
5034
- &quot;wrap_longitude&quot;: false
5035
- }
5036
- }
5037
- }
5038
- }
5039
- </code></pre>
5040
4875
  <p>The API returns results as a binary Mapbox vector tile.
5041
4876
  Mapbox vector tiles are encoded as Google Protobufs (PBF). By default, the tile contains three layers:</p>
5042
4877
  <ul>
@@ -5291,9 +5126,10 @@ class AsyncElasticsearch(BaseClient):
5291
5126
  Some cells may intersect more than one vector tile.
5292
5127
  To compute the H3 resolution for each precision, Elasticsearch compares the average density of hexagonal bins at each resolution with the average density of tile bins at each zoom level.
5293
5128
  Elasticsearch uses the H3 resolution that is closest to the corresponding geotile density.</p>
5129
+ <p>Learn how to use the vector tile search API with practical examples in the <a href="https://www.elastic.co/docs/reference/elasticsearch/rest-apis/vector-tile-search">Vector tile search examples</a> guide.</p>
5294
5130
 
5295
5131
 
5296
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-search-mvt>`_
5132
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-search-mvt>`_
5297
5133
 
5298
5134
  :param index: Comma-separated list of data streams, indices, or aliases to search
5299
5135
  :param field: Field containing geospatial data to return
@@ -5467,7 +5303,7 @@ class AsyncElasticsearch(BaseClient):
5467
5303
  <p>If the Elasticsearch security features are enabled, you must have the <code>view_index_metadata</code> or <code>manage</code> index privilege for the target data stream, index, or alias.</p>
5468
5304
 
5469
5305
 
5470
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-search-shards>`_
5306
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-search-shards>`_
5471
5307
 
5472
5308
  :param index: A comma-separated list of data streams, indices, and aliases to
5473
5309
  search. It supports wildcards (`*`). To search all data streams and indices,
@@ -5480,7 +5316,7 @@ class AsyncElasticsearch(BaseClient):
5480
5316
  :param expand_wildcards: Type of index that wildcard patterns can match. If the
5481
5317
  request can target data streams, this argument determines whether wildcard
5482
5318
  expressions match hidden data streams. Supports comma-separated values, such
5483
- as `open,hidden`. Valid values are: `all`, `open`, `closed`, `hidden`, `none`.
5319
+ as `open,hidden`.
5484
5320
  :param ignore_unavailable: If `false`, the request returns an error if it targets
5485
5321
  a missing or closed index.
5486
5322
  :param local: If `true`, the request retrieves information from the local node
@@ -5578,7 +5414,7 @@ class AsyncElasticsearch(BaseClient):
5578
5414
  <p>Run a search with a search template.</p>
5579
5415
 
5580
5416
 
5581
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-search-template>`_
5417
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-search-template>`_
5582
5418
 
5583
5419
  :param index: A comma-separated list of data streams, indices, and aliases to
5584
5420
  search. It supports wildcards (`*`).
@@ -5592,8 +5428,7 @@ class AsyncElasticsearch(BaseClient):
5592
5428
  :param expand_wildcards: The type of index that wildcard patterns can match.
5593
5429
  If the request can target data streams, this argument determines whether
5594
5430
  wildcard expressions match hidden data streams. Supports comma-separated
5595
- values, such as `open,hidden`. Valid values are: `all`, `open`, `closed`,
5596
- `hidden`, `none`.
5431
+ values, such as `open,hidden`.
5597
5432
  :param explain: If `true`, returns detailed information about score calculation
5598
5433
  as part of each hit. If you specify both this and the `explain` query parameter,
5599
5434
  the API uses only the query parameter.
@@ -5721,7 +5556,7 @@ class AsyncElasticsearch(BaseClient):
5721
5556
  </blockquote>
5722
5557
 
5723
5558
 
5724
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-terms-enum>`_
5559
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-terms-enum>`_
5725
5560
 
5726
5561
  :param index: A comma-separated list of data streams, indices, and index aliases
5727
5562
  to search. Wildcard (`*`) expressions are supported. To search all data streams
@@ -5867,10 +5702,11 @@ class AsyncElasticsearch(BaseClient):
5867
5702
  The information is only retrieved for the shard the requested document resides in.
5868
5703
  The term and field statistics are therefore only useful as relative measures whereas the absolute numbers have no meaning in this context.
5869
5704
  By default, when requesting term vectors of artificial documents, a shard to get the statistics from is randomly selected.
5870
- Use <code>routing</code> only to hit a particular shard.</p>
5705
+ Use <code>routing</code> only to hit a particular shard.
5706
+ Refer to the linked documentation for detailed examples of how to use this API.</p>
5871
5707
 
5872
5708
 
5873
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-termvectors>`_
5709
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-termvectors>`_
5874
5710
 
5875
5711
  :param index: The name of the index that contains the document.
5876
5712
  :param id: A unique identifier for the document.
@@ -6038,10 +5874,11 @@ class AsyncElasticsearch(BaseClient):
6038
5874
  </ul>
6039
5875
  <p>The document must still be reindexed, but using this API removes some network roundtrips and reduces chances of version conflicts between the GET and the index operation.</p>
6040
5876
  <p>The <code>_source</code> field must be enabled to use this API.
6041
- In addition to <code>_source</code>, you can access the following variables through the <code>ctx</code> map: <code>_index</code>, <code>_type</code>, <code>_id</code>, <code>_version</code>, <code>_routing</code>, and <code>_now</code> (the current timestamp).</p>
5877
+ In addition to <code>_source</code>, you can access the following variables through the <code>ctx</code> map: <code>_index</code>, <code>_type</code>, <code>_id</code>, <code>_version</code>, <code>_routing</code>, and <code>_now</code> (the current timestamp).
5878
+ For usage examples such as partial updates, upserts, and scripted updates, see the External documentation.</p>
6042
5879
 
6043
5880
 
6044
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-update>`_
5881
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-update>`_
6045
5882
 
6046
5883
  :param index: The name of the target index. By default, the index is created
6047
5884
  automatically if it doesn't exist.
@@ -6231,6 +6068,24 @@ class AsyncElasticsearch(BaseClient):
6231
6068
  A bulk update request is performed for each batch of matching documents.
6232
6069
  Any query or update failures cause the update by query request to fail and the failures are shown in the response.
6233
6070
  Any update requests that completed successfully still stick, they are not rolled back.</p>
6071
+ <p><strong>Refreshing shards</strong></p>
6072
+ <p>Specifying the <code>refresh</code> parameter refreshes all shards once the request completes.
6073
+ This is different to the update API's <code>refresh</code> parameter, which causes only the shard
6074
+ that received the request to be refreshed. Unlike the update API, it does not support
6075
+ <code>wait_for</code>.</p>
6076
+ <p><strong>Running update by query asynchronously</strong></p>
6077
+ <p>If the request contains <code>wait_for_completion=false</code>, Elasticsearch
6078
+ performs some preflight checks, launches the request, and returns a
6079
+ <a href="https://www.elastic.co/docs/api/doc/elasticsearch/group/endpoint-tasks">task</a> you can use to cancel or get the status of the task.
6080
+ Elasticsearch creates a record of this task as a document at <code>.tasks/task/${taskId}</code>.</p>
6081
+ <p><strong>Waiting for active shards</strong></p>
6082
+ <p><code>wait_for_active_shards</code> controls how many copies of a shard must be active
6083
+ before proceeding with the request. See <a href="https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-create#operation-create-wait_for_active_shards"><code>wait_for_active_shards</code></a>
6084
+ for details. <code>timeout</code> controls how long each write request waits for unavailable
6085
+ shards to become available. Both work exactly the way they work in the
6086
+ <a href="https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-bulk">Bulk API</a>. Update by query uses scrolled searches, so you can also
6087
+ specify the <code>scroll</code> parameter to control how long it keeps the search context
6088
+ alive, for example <code>?scroll=10m</code>. The default is 5 minutes.</p>
6234
6089
  <p><strong>Throttling update requests</strong></p>
6235
6090
  <p>To control the rate at which update by query issues batches of update operations, you can set <code>requests_per_second</code> to any positive decimal number.
6236
6091
  This pads each batch with a wait time to throttle the rate.
@@ -6265,21 +6120,11 @@ class AsyncElasticsearch(BaseClient):
6265
6120
  <li>Query performance is most efficient when the number of slices is equal to the number of shards in the index or backing index. If that number is large (for example, 500), choose a lower number as too many slices hurts performance. Setting slices higher than the number of shards generally does not improve efficiency and adds overhead.</li>
6266
6121
  <li>Update performance scales linearly across available resources with the number of slices.</li>
6267
6122
  </ul>
6268
- <p>Whether query or update performance dominates the runtime depends on the documents being reindexed and cluster resources.</p>
6269
- <p><strong>Update the document source</strong></p>
6270
- <p>Update by query supports scripts to update the document source.
6271
- As with the update API, you can set <code>ctx.op</code> to change the operation that is performed.</p>
6272
- <p>Set <code>ctx.op = &quot;noop&quot;</code> if your script decides that it doesn't have to make any changes.
6273
- The update by query operation skips updating the document and increments the <code>noop</code> counter.</p>
6274
- <p>Set <code>ctx.op = &quot;delete&quot;</code> if your script decides that the document should be deleted.
6275
- The update by query operation deletes the document and increments the <code>deleted</code> counter.</p>
6276
- <p>Update by query supports only <code>index</code>, <code>noop</code>, and <code>delete</code>.
6277
- Setting <code>ctx.op</code> to anything else is an error.
6278
- Setting any other field in <code>ctx</code> is an error.
6279
- This API enables you to only modify the source of matching documents; you cannot move them.</p>
6280
-
6281
-
6282
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-update-by-query>`_
6123
+ <p>Whether query or update performance dominates the runtime depends on the documents being reindexed and cluster resources.
6124
+ Refer to the linked documentation for examples of how to update documents using the <code>_update_by_query</code> API:</p>
6125
+
6126
+
6127
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-update-by-query>`_
6283
6128
 
6284
6129
  :param index: A comma-separated list of data streams, indices, and aliases to
6285
6130
  search. It supports wildcards (`*`). To search all data streams or indices,
@@ -6304,8 +6149,7 @@ class AsyncElasticsearch(BaseClient):
6304
6149
  :param expand_wildcards: The type of index that wildcard patterns can match.
6305
6150
  If the request can target data streams, this argument determines whether
6306
6151
  wildcard expressions match hidden data streams. It supports comma-separated
6307
- values, such as `open,hidden`. Valid values are: `all`, `open`, `closed`,
6308
- `hidden`, `none`.
6152
+ values, such as `open,hidden`.
6309
6153
  :param from_: Skips the specified number of documents.
6310
6154
  :param ignore_unavailable: If `false`, the request returns an error if it targets
6311
6155
  a missing or closed index.
@@ -6499,7 +6343,7 @@ class AsyncElasticsearch(BaseClient):
6499
6343
  Rethrottling that speeds up the query takes effect immediately but rethrotting that slows down the query takes effect after completing the current batch to prevent scroll timeouts.</p>
6500
6344
 
6501
6345
 
6502
- `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-update-by-query-rethrottle>`_
6346
+ `<https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-update-by-query-rethrottle>`_
6503
6347
 
6504
6348
  :param task_id: The ID for the task.
6505
6349
  :param requests_per_second: The throttle for this request in sub-requests per