elasticsearch 9.0.2__tar.gz → 9.0.4__tar.gz

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 (228) hide show
  1. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/PKG-INFO +1 -3
  2. elasticsearch-9.0.4/docs/sphinx/esql.rst +100 -0
  3. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/docs/sphinx/index.rst +1 -0
  4. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_async/client/__init__.py +59 -202
  5. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_async/client/cat.py +1011 -59
  6. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_async/client/cluster.py +14 -4
  7. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_async/client/eql.py +10 -2
  8. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_async/client/esql.py +33 -10
  9. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_async/client/indices.py +88 -44
  10. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_async/client/inference.py +108 -3
  11. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_async/client/ingest.py +0 -7
  12. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_async/client/license.py +4 -4
  13. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_async/client/ml.py +6 -17
  14. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_async/client/monitoring.py +1 -1
  15. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_async/client/rollup.py +1 -22
  16. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_async/client/security.py +11 -17
  17. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_async/client/snapshot.py +6 -0
  18. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_async/client/sql.py +1 -1
  19. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_async/client/synonyms.py +1 -0
  20. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_async/client/transform.py +60 -0
  21. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_async/client/watcher.py +4 -2
  22. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_sync/client/__init__.py +59 -202
  23. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_sync/client/cat.py +1011 -59
  24. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_sync/client/cluster.py +14 -4
  25. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_sync/client/eql.py +10 -2
  26. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_sync/client/esql.py +33 -10
  27. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_sync/client/indices.py +88 -44
  28. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_sync/client/inference.py +108 -3
  29. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_sync/client/ingest.py +0 -7
  30. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_sync/client/license.py +4 -4
  31. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_sync/client/ml.py +6 -17
  32. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_sync/client/monitoring.py +1 -1
  33. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_sync/client/rollup.py +1 -22
  34. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_sync/client/security.py +11 -17
  35. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_sync/client/snapshot.py +6 -0
  36. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_sync/client/sql.py +1 -1
  37. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_sync/client/synonyms.py +1 -0
  38. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_sync/client/transform.py +60 -0
  39. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_sync/client/watcher.py +4 -2
  40. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_version.py +1 -1
  41. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/compat.py +5 -0
  42. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/dsl/__init__.py +2 -1
  43. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/dsl/_async/document.py +84 -0
  44. {elasticsearch-9.0.2/elasticsearch/dsl/_sync/_sync_check → elasticsearch-9.0.4/elasticsearch/dsl/_sync}/document.py +84 -0
  45. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/dsl/document_base.py +219 -16
  46. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/dsl/field.py +245 -57
  47. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/dsl/query.py +7 -4
  48. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/dsl/response/aggs.py +1 -1
  49. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/dsl/types.py +125 -88
  50. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/dsl/utils.py +2 -2
  51. elasticsearch-9.0.4/elasticsearch/esql/__init__.py +19 -0
  52. elasticsearch-9.0.4/elasticsearch/esql/esql.py +1156 -0
  53. elasticsearch-9.0.4/elasticsearch/esql/functions.py +1750 -0
  54. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/pyproject.toml +0 -2
  55. elasticsearch-9.0.2/elasticsearch/dsl/_sync/document.py +0 -514
  56. elasticsearch-9.0.2/elasticsearch/dsl/_sync/faceted_search.py +0 -50
  57. elasticsearch-9.0.2/elasticsearch/dsl/_sync/index.py +0 -597
  58. elasticsearch-9.0.2/elasticsearch/dsl/_sync/mapping.py +0 -49
  59. elasticsearch-9.0.2/elasticsearch/dsl/_sync/search.py +0 -230
  60. elasticsearch-9.0.2/elasticsearch/dsl/_sync/update_by_query.py +0 -45
  61. elasticsearch-9.0.2/elasticsearch/helpers/vectorstore/_sync/__init__.py +0 -16
  62. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/.gitignore +0 -0
  63. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/CHANGELOG.md +0 -0
  64. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/CONTRIBUTING.md +0 -0
  65. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/LICENSE +0 -0
  66. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/NOTICE +0 -0
  67. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/README.md +0 -0
  68. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/docs/sphinx/Makefile +0 -0
  69. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/docs/sphinx/_static/css/custom.css +0 -0
  70. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/docs/sphinx/_static/images/create-api-key.png +0 -0
  71. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/docs/sphinx/api/async-search.rst +0 -0
  72. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/docs/sphinx/api/autoscaling.rst +0 -0
  73. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/docs/sphinx/api/cat.rst +0 -0
  74. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/docs/sphinx/api/ccr.rst +0 -0
  75. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/docs/sphinx/api/cluster.rst +0 -0
  76. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/docs/sphinx/api/connector.rst +0 -0
  77. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/docs/sphinx/api/dangling-indices.rst +0 -0
  78. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/docs/sphinx/api/elasticsearch.rst +0 -0
  79. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/docs/sphinx/api/enrich-policies.rst +0 -0
  80. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/docs/sphinx/api/eql.rst +0 -0
  81. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/docs/sphinx/api/esql.rst +0 -0
  82. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/docs/sphinx/api/fleet.rst +0 -0
  83. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/docs/sphinx/api/graph-explore.rst +0 -0
  84. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/docs/sphinx/api/index-lifecycle-management.rst +0 -0
  85. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/docs/sphinx/api/indices.rst +0 -0
  86. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/docs/sphinx/api/inference.rst +0 -0
  87. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/docs/sphinx/api/ingest-pipelines.rst +0 -0
  88. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/docs/sphinx/api/license.rst +0 -0
  89. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/docs/sphinx/api/logstash.rst +0 -0
  90. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/docs/sphinx/api/migration.rst +0 -0
  91. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/docs/sphinx/api/ml.rst +0 -0
  92. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/docs/sphinx/api/monitoring.rst +0 -0
  93. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/docs/sphinx/api/nodes.rst +0 -0
  94. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/docs/sphinx/api/query-rules.rst +0 -0
  95. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/docs/sphinx/api/rollup-indices.rst +0 -0
  96. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/docs/sphinx/api/search-application.rst +0 -0
  97. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/docs/sphinx/api/searchable-snapshots.rst +0 -0
  98. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/docs/sphinx/api/security.rst +0 -0
  99. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/docs/sphinx/api/shutdown.rst +0 -0
  100. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/docs/sphinx/api/simulate.rst +0 -0
  101. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/docs/sphinx/api/snapshot-lifecycle-management.rst +0 -0
  102. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/docs/sphinx/api/snapshots.rst +0 -0
  103. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/docs/sphinx/api/snapshottable-features.rst +0 -0
  104. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/docs/sphinx/api/sql.rst +0 -0
  105. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/docs/sphinx/api/synonyms.rst +0 -0
  106. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/docs/sphinx/api/tasks.rst +0 -0
  107. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/docs/sphinx/api/text-structure.rst +0 -0
  108. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/docs/sphinx/api/tls-ssl.rst +0 -0
  109. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/docs/sphinx/api/transforms.rst +0 -0
  110. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/docs/sphinx/api/watcher.rst +0 -0
  111. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/docs/sphinx/api/x-pack.rst +0 -0
  112. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/docs/sphinx/api_helpers.rst +0 -0
  113. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/docs/sphinx/async_api_helpers.rst +0 -0
  114. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/docs/sphinx/async_dsl.rst +0 -0
  115. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/docs/sphinx/async_es_api.rst +0 -0
  116. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/docs/sphinx/conf.py +0 -0
  117. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/docs/sphinx/dsl.rst +0 -0
  118. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/docs/sphinx/es_api.rst +0 -0
  119. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/docs/sphinx/exceptions.rst +0 -0
  120. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/__init__.py +0 -0
  121. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_async/__init__.py +0 -0
  122. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_async/client/_base.py +0 -0
  123. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_async/client/async_search.py +0 -0
  124. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_async/client/autoscaling.py +0 -0
  125. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_async/client/ccr.py +0 -0
  126. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_async/client/connector.py +0 -0
  127. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_async/client/dangling_indices.py +0 -0
  128. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_async/client/enrich.py +0 -0
  129. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_async/client/features.py +0 -0
  130. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_async/client/fleet.py +0 -0
  131. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_async/client/graph.py +0 -0
  132. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_async/client/ilm.py +0 -0
  133. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_async/client/logstash.py +0 -0
  134. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_async/client/migration.py +0 -0
  135. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_async/client/nodes.py +0 -0
  136. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_async/client/query_rules.py +0 -0
  137. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_async/client/search_application.py +0 -0
  138. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_async/client/searchable_snapshots.py +0 -0
  139. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_async/client/shutdown.py +0 -0
  140. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_async/client/simulate.py +0 -0
  141. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_async/client/slm.py +0 -0
  142. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_async/client/ssl.py +0 -0
  143. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_async/client/tasks.py +0 -0
  144. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_async/client/text_structure.py +0 -0
  145. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_async/client/utils.py +0 -0
  146. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_async/client/xpack.py +0 -0
  147. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_async/helpers.py +0 -0
  148. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_otel.py +0 -0
  149. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_sync/__init__.py +0 -0
  150. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_sync/client/_base.py +0 -0
  151. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_sync/client/async_search.py +0 -0
  152. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_sync/client/autoscaling.py +0 -0
  153. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_sync/client/ccr.py +0 -0
  154. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_sync/client/connector.py +0 -0
  155. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_sync/client/dangling_indices.py +0 -0
  156. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_sync/client/enrich.py +0 -0
  157. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_sync/client/features.py +0 -0
  158. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_sync/client/fleet.py +0 -0
  159. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_sync/client/graph.py +0 -0
  160. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_sync/client/ilm.py +0 -0
  161. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_sync/client/logstash.py +0 -0
  162. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_sync/client/migration.py +0 -0
  163. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_sync/client/nodes.py +0 -0
  164. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_sync/client/query_rules.py +0 -0
  165. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_sync/client/search_application.py +0 -0
  166. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_sync/client/searchable_snapshots.py +0 -0
  167. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_sync/client/shutdown.py +0 -0
  168. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_sync/client/simulate.py +0 -0
  169. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_sync/client/slm.py +0 -0
  170. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_sync/client/ssl.py +0 -0
  171. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_sync/client/tasks.py +0 -0
  172. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_sync/client/text_structure.py +0 -0
  173. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_sync/client/utils.py +0 -0
  174. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_sync/client/xpack.py +0 -0
  175. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/_utils.py +0 -0
  176. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/client.py +0 -0
  177. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/dsl/_async/__init__.py +0 -0
  178. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/dsl/_async/faceted_search.py +0 -0
  179. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/dsl/_async/index.py +0 -0
  180. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/dsl/_async/mapping.py +0 -0
  181. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/dsl/_async/search.py +0 -0
  182. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/dsl/_async/update_by_query.py +0 -0
  183. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/dsl/_sync/__init__.py +0 -0
  184. {elasticsearch-9.0.2/elasticsearch/dsl/_sync/_sync_check → elasticsearch-9.0.4/elasticsearch/dsl/_sync}/faceted_search.py +0 -0
  185. {elasticsearch-9.0.2/elasticsearch/dsl/_sync/_sync_check → elasticsearch-9.0.4/elasticsearch/dsl/_sync}/index.py +0 -0
  186. {elasticsearch-9.0.2/elasticsearch/dsl/_sync/_sync_check → elasticsearch-9.0.4/elasticsearch/dsl/_sync}/mapping.py +0 -0
  187. {elasticsearch-9.0.2/elasticsearch/dsl/_sync/_sync_check → elasticsearch-9.0.4/elasticsearch/dsl/_sync}/search.py +0 -0
  188. {elasticsearch-9.0.2/elasticsearch/dsl/_sync/_sync_check → elasticsearch-9.0.4/elasticsearch/dsl/_sync}/update_by_query.py +0 -0
  189. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/dsl/aggs.py +0 -0
  190. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/dsl/analysis.py +0 -0
  191. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/dsl/async_connections.py +0 -0
  192. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/dsl/connections.py +0 -0
  193. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/dsl/document.py +0 -0
  194. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/dsl/exceptions.py +0 -0
  195. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/dsl/faceted_search.py +0 -0
  196. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/dsl/faceted_search_base.py +0 -0
  197. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/dsl/function.py +0 -0
  198. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/dsl/index.py +0 -0
  199. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/dsl/index_base.py +0 -0
  200. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/dsl/mapping.py +0 -0
  201. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/dsl/mapping_base.py +0 -0
  202. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/dsl/response/__init__.py +0 -0
  203. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/dsl/response/hit.py +0 -0
  204. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/dsl/search.py +0 -0
  205. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/dsl/search_base.py +0 -0
  206. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/dsl/serializer.py +0 -0
  207. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/dsl/update_by_query.py +0 -0
  208. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/dsl/update_by_query_base.py +0 -0
  209. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/dsl/wrappers.py +0 -0
  210. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/exceptions.py +0 -0
  211. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/helpers/__init__.py +0 -0
  212. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/helpers/actions.py +0 -0
  213. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/helpers/errors.py +0 -0
  214. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/helpers/vectorstore/__init__.py +0 -0
  215. {elasticsearch-9.0.2/elasticsearch/dsl/_sync/_sync_check → elasticsearch-9.0.4/elasticsearch/helpers/vectorstore/_async}/__init__.py +0 -0
  216. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/helpers/vectorstore/_async/_utils.py +0 -0
  217. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/helpers/vectorstore/_async/embedding_service.py +0 -0
  218. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/helpers/vectorstore/_async/strategies.py +0 -0
  219. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/helpers/vectorstore/_async/vectorstore.py +0 -0
  220. {elasticsearch-9.0.2/elasticsearch/helpers/vectorstore/_async → elasticsearch-9.0.4/elasticsearch/helpers/vectorstore/_sync}/__init__.py +0 -0
  221. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/helpers/vectorstore/_sync/_utils.py +0 -0
  222. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/helpers/vectorstore/_sync/embedding_service.py +0 -0
  223. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/helpers/vectorstore/_sync/strategies.py +0 -0
  224. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/helpers/vectorstore/_sync/vectorstore.py +0 -0
  225. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/helpers/vectorstore/_utils.py +0 -0
  226. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/py.typed +0 -0
  227. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/elasticsearch/serializer.py +0 -0
  228. {elasticsearch-9.0.2 → elasticsearch-9.0.4}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: elasticsearch
3
- Version: 9.0.2
3
+ Version: 9.0.4
4
4
  Summary: Python client for Elasticsearch
5
5
  Project-URL: Documentation, https://elasticsearch-py.readthedocs.io/
6
6
  Project-URL: Homepage, https://github.com/elastic/elasticsearch-py
@@ -41,7 +41,6 @@ Requires-Dist: isort; extra == 'dev'
41
41
  Requires-Dist: jinja2; extra == 'dev'
42
42
  Requires-Dist: mapbox-vector-tile; extra == 'dev'
43
43
  Requires-Dist: mypy; extra == 'dev'
44
- Requires-Dist: nltk; extra == 'dev'
45
44
  Requires-Dist: nox; extra == 'dev'
46
45
  Requires-Dist: numpy; extra == 'dev'
47
46
  Requires-Dist: orjson; extra == 'dev'
@@ -55,7 +54,6 @@ Requires-Dist: pytest-mock; extra == 'dev'
55
54
  Requires-Dist: python-dateutil; extra == 'dev'
56
55
  Requires-Dist: pyyaml>=5.4; extra == 'dev'
57
56
  Requires-Dist: requests<3,>=2; extra == 'dev'
58
- Requires-Dist: sentence-transformers; extra == 'dev'
59
57
  Requires-Dist: simsimd; extra == 'dev'
60
58
  Requires-Dist: tqdm; extra == 'dev'
61
59
  Requires-Dist: twine; extra == 'dev'
@@ -0,0 +1,100 @@
1
+ ES|QL Query Builder
2
+ ===================
3
+
4
+ Commands
5
+ --------
6
+
7
+ .. autoclass:: elasticsearch.esql.ESQL
8
+ :inherited-members:
9
+ :members:
10
+
11
+ .. autoclass:: elasticsearch.esql.esql.ESQLBase
12
+ :inherited-members:
13
+ :members:
14
+ :exclude-members: __init__
15
+
16
+ .. autoclass:: elasticsearch.esql.esql.From
17
+ :members:
18
+ :exclude-members: __init__
19
+
20
+ .. autoclass:: elasticsearch.esql.esql.Row
21
+ :members:
22
+ :exclude-members: __init__
23
+
24
+ .. autoclass:: elasticsearch.esql.esql.Show
25
+ :members:
26
+ :exclude-members: __init__
27
+
28
+ .. autoclass:: elasticsearch.esql.esql.ChangePoint
29
+ :members:
30
+ :exclude-members: __init__
31
+
32
+ .. autoclass:: elasticsearch.esql.esql.Completion
33
+ :members:
34
+ :exclude-members: __init__
35
+
36
+ .. autoclass:: elasticsearch.esql.esql.Dissect
37
+ :members:
38
+ :exclude-members: __init__
39
+
40
+ .. autoclass:: elasticsearch.esql.esql.Drop
41
+ :members:
42
+ :exclude-members: __init__
43
+
44
+ .. autoclass:: elasticsearch.esql.esql.Enrich
45
+ :members:
46
+ :exclude-members: __init__
47
+
48
+ .. autoclass:: elasticsearch.esql.esql.Eval
49
+ :members:
50
+ :exclude-members: __init__
51
+
52
+ .. autoclass:: elasticsearch.esql.esql.Fork
53
+ :members:
54
+ :exclude-members: __init__
55
+
56
+ .. autoclass:: elasticsearch.esql.esql.Grok
57
+ :members:
58
+ :exclude-members: __init__
59
+
60
+ .. autoclass:: elasticsearch.esql.esql.Keep
61
+ :members:
62
+ :exclude-members: __init__
63
+
64
+ .. autoclass:: elasticsearch.esql.esql.Limit
65
+ :members:
66
+ :exclude-members: __init__
67
+
68
+ .. autoclass:: elasticsearch.esql.esql.LookupJoin
69
+ :members:
70
+ :exclude-members: __init__
71
+
72
+ .. autoclass:: elasticsearch.esql.esql.MvExpand
73
+ :members:
74
+ :exclude-members: __init__
75
+
76
+ .. autoclass:: elasticsearch.esql.esql.Rename
77
+ :members:
78
+ :exclude-members: __init__
79
+
80
+ .. autoclass:: elasticsearch.esql.esql.Sample
81
+ :members:
82
+ :exclude-members: __init__
83
+
84
+ .. autoclass:: elasticsearch.esql.esql.Sort
85
+ :members:
86
+ :exclude-members: __init__
87
+
88
+ .. autoclass:: elasticsearch.esql.esql.Stats
89
+ :members:
90
+ :exclude-members: __init__
91
+
92
+ .. autoclass:: elasticsearch.esql.esql.Where
93
+ :members:
94
+ :exclude-members: __init__
95
+
96
+ Functions
97
+ ---------
98
+
99
+ .. automodule:: elasticsearch.esql.functions
100
+ :members:
@@ -11,6 +11,7 @@ High-level documentation for this client is `also available <https://www.elastic
11
11
  :maxdepth: 2
12
12
 
13
13
  es_api
14
+ esql
14
15
  dsl
15
16
  api_helpers
16
17
  exceptions
@@ -608,6 +608,7 @@ class AsyncElasticsearch(BaseClient):
608
608
  <li>JavaScript: Check out <code>client.helpers.*</code></li>
609
609
  <li>.NET: Check out <code>BulkAllObservable</code></li>
610
610
  <li>PHP: Check out bulk indexing.</li>
611
+ <li>Ruby: Check out <code>Elasticsearch::Helpers::BulkHelper</code></li>
611
612
  </ul>
612
613
  <p><strong>Submitting bulk requests with cURL</strong></p>
613
614
  <p>If you're providing text file input to <code>curl</code>, you must use the <code>--data-binary</code> flag instead of plain <code>-d</code>.
@@ -637,6 +638,8 @@ class AsyncElasticsearch(BaseClient):
637
638
  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
639
  The request will only wait for those three shards to refresh.
639
640
  The other two shards that make up the index do not participate in the <code>_bulk</code> request at all.</p>
641
+ <p>You might want to disable the refresh interval temporarily to improve indexing throughput for large bulk requests.
642
+ Refer to the linked documentation for step-by-step instructions using the index settings API.</p>
640
643
 
641
644
 
642
645
  `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-bulk>`_
@@ -1029,10 +1032,7 @@ class AsyncElasticsearch(BaseClient):
1029
1032
  error_trace: t.Optional[bool] = None,
1030
1033
  filter_path: t.Optional[t.Union[str, t.Sequence[str]]] = None,
1031
1034
  human: t.Optional[bool] = None,
1032
- if_primary_term: t.Optional[int] = None,
1033
- if_seq_no: t.Optional[int] = None,
1034
1035
  include_source_on_error: t.Optional[bool] = None,
1035
- op_type: t.Optional[t.Union[str, t.Literal["create", "index"]]] = None,
1036
1036
  pipeline: t.Optional[str] = None,
1037
1037
  pretty: t.Optional[bool] = None,
1038
1038
  refresh: t.Optional[
@@ -1117,18 +1117,8 @@ class AsyncElasticsearch(BaseClient):
1117
1117
  :param id: A unique identifier for the document. To automatically generate a
1118
1118
  document ID, use the `POST /<target>/_doc/` request format.
1119
1119
  :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
1120
  :param include_source_on_error: True or false if to include the document source
1125
1121
  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
1122
  :param pipeline: The ID of the pipeline to use to preprocess incoming documents.
1133
1123
  If the index has a default ingest pipeline specified, setting the value to
1134
1124
  `_none` turns off the default ingest pipeline for this request. If a final
@@ -1180,14 +1170,8 @@ class AsyncElasticsearch(BaseClient):
1180
1170
  __query["filter_path"] = filter_path
1181
1171
  if human is not None:
1182
1172
  __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
1173
  if include_source_on_error is not None:
1188
1174
  __query["include_source_on_error"] = include_source_on_error
1189
- if op_type is not None:
1190
- __query["op_type"] = op_type
1191
1175
  if pipeline is not None:
1192
1176
  __query["pipeline"] = pipeline
1193
1177
  if pretty is not None:
@@ -1343,7 +1327,7 @@ class AsyncElasticsearch(BaseClient):
1343
1327
  )
1344
1328
 
1345
1329
  @_rewrite_parameters(
1346
- body_fields=("max_docs", "query", "slice"),
1330
+ body_fields=("max_docs", "query", "slice", "sort"),
1347
1331
  parameter_aliases={"from": "from_"},
1348
1332
  )
1349
1333
  async def delete_by_query(
@@ -1387,7 +1371,12 @@ class AsyncElasticsearch(BaseClient):
1387
1371
  ] = None,
1388
1372
  slice: t.Optional[t.Mapping[str, t.Any]] = None,
1389
1373
  slices: t.Optional[t.Union[int, t.Union[str, t.Literal["auto"]]]] = None,
1390
- sort: t.Optional[t.Sequence[str]] = None,
1374
+ sort: t.Optional[
1375
+ t.Union[
1376
+ t.Sequence[t.Union[str, t.Mapping[str, t.Any]]],
1377
+ t.Union[str, t.Mapping[str, t.Any]],
1378
+ ]
1379
+ ] = None,
1391
1380
  stats: t.Optional[t.Sequence[str]] = None,
1392
1381
  terminate_after: t.Optional[int] = None,
1393
1382
  timeout: t.Optional[t.Union[str, t.Literal[-1], t.Literal[0]]] = None,
@@ -1519,7 +1508,7 @@ class AsyncElasticsearch(BaseClient):
1519
1508
  :param slice: Slice the request manually using the provided slice ID and total
1520
1509
  number of slices.
1521
1510
  :param slices: The number of slices this task should be divided into.
1522
- :param sort: A comma-separated list of `<field>:<direction>` pairs.
1511
+ :param sort: A sort object that specifies the order of deleted documents.
1523
1512
  :param stats: The specific `tag` of the request for logging and statistical purposes.
1524
1513
  :param terminate_after: The maximum number of documents to collect for each shard.
1525
1514
  If a query reaches this limit, Elasticsearch terminates the query early.
@@ -1609,8 +1598,6 @@ class AsyncElasticsearch(BaseClient):
1609
1598
  __query["search_type"] = search_type
1610
1599
  if slices is not None:
1611
1600
  __query["slices"] = slices
1612
- if sort is not None:
1613
- __query["sort"] = sort
1614
1601
  if stats is not None:
1615
1602
  __query["stats"] = stats
1616
1603
  if terminate_after is not None:
@@ -1630,6 +1617,8 @@ class AsyncElasticsearch(BaseClient):
1630
1617
  __body["query"] = query
1631
1618
  if slice is not None:
1632
1619
  __body["slice"] = slice
1620
+ if sort is not None:
1621
+ __body["sort"] = sort
1633
1622
  __headers = {"accept": "application/json", "content-type": "application/json"}
1634
1623
  return await self.perform_request( # type: ignore[return-value]
1635
1624
  "POST",
@@ -2324,7 +2313,7 @@ class AsyncElasticsearch(BaseClient):
2324
2313
  :param index: The name of the index that contains the document.
2325
2314
  :param id: A unique document identifier.
2326
2315
  :param force_synthetic_source: Indicates whether the request forces synthetic
2327
- `_source`. Use this paramater to test if the mapping supports synthetic `_source`
2316
+ `_source`. Use this parameter to test if the mapping supports synthetic `_source`
2328
2317
  and to get a sense of the worst case performance. Fetches with this parameter
2329
2318
  enabled will be slower than enabling synthetic source natively in the index.
2330
2319
  :param preference: The node or shard the operation should be performed on. By
@@ -2355,8 +2344,8 @@ class AsyncElasticsearch(BaseClient):
2355
2344
  :param stored_fields: A comma-separated list of stored fields to return as part
2356
2345
  of a hit. If no fields are specified, no stored fields are included in the
2357
2346
  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.
2347
+ `false`. Only leaf fields can be retrieved with the `stored_fields` option.
2348
+ Object fields can't be returned; if specified, the request fails.
2360
2349
  :param version: The version number for concurrency control. It must match the
2361
2350
  current version of the document for the request to succeed.
2362
2351
  :param version_type: The version type.
@@ -2560,7 +2549,6 @@ class AsyncElasticsearch(BaseClient):
2560
2549
  source: t.Optional[t.Union[bool, t.Union[str, t.Sequence[str]]]] = None,
2561
2550
  source_excludes: t.Optional[t.Union[str, t.Sequence[str]]] = None,
2562
2551
  source_includes: t.Optional[t.Union[str, t.Sequence[str]]] = None,
2563
- stored_fields: t.Optional[t.Union[str, t.Sequence[str]]] = None,
2564
2552
  version: t.Optional[int] = None,
2565
2553
  version_type: t.Optional[
2566
2554
  t.Union[str, t.Literal["external", "external_gte", "force", "internal"]]
@@ -2597,8 +2585,6 @@ class AsyncElasticsearch(BaseClient):
2597
2585
  the response.
2598
2586
  :param source_includes: A comma-separated list of source fields to include in
2599
2587
  the response.
2600
- :param stored_fields: A comma-separated list of stored fields to return as part
2601
- of a hit.
2602
2588
  :param version: The version number for concurrency control. It must match the
2603
2589
  current version of the document for the request to succeed.
2604
2590
  :param version_type: The version type.
@@ -2632,8 +2618,6 @@ class AsyncElasticsearch(BaseClient):
2632
2618
  __query["_source_excludes"] = source_excludes
2633
2619
  if source_includes is not None:
2634
2620
  __query["_source_includes"] = source_includes
2635
- if stored_fields is not None:
2636
- __query["stored_fields"] = stored_fields
2637
2621
  if version is not None:
2638
2622
  __query["version"] = version
2639
2623
  if version_type is not None:
@@ -2742,6 +2726,7 @@ class AsyncElasticsearch(BaseClient):
2742
2726
  t.Union[bool, str, t.Literal["false", "true", "wait_for"]]
2743
2727
  ] = None,
2744
2728
  require_alias: t.Optional[bool] = None,
2729
+ require_data_stream: t.Optional[bool] = None,
2745
2730
  routing: t.Optional[str] = None,
2746
2731
  timeout: t.Optional[t.Union[str, t.Literal[-1], t.Literal[0]]] = None,
2747
2732
  version: t.Optional[int] = None,
@@ -2877,6 +2862,8 @@ class AsyncElasticsearch(BaseClient):
2877
2862
  this operation visible to search. If `wait_for`, it waits for a refresh to
2878
2863
  make this operation visible to search. If `false`, it does nothing with refreshes.
2879
2864
  :param require_alias: If `true`, the destination must be an index alias.
2865
+ :param require_data_stream: If `true`, the request's actions must target a data
2866
+ stream (existing or to be created).
2880
2867
  :param routing: A custom value that is used to route operations to a specific
2881
2868
  shard.
2882
2869
  :param timeout: The period the request waits for the following operations: automatic
@@ -2938,6 +2925,8 @@ class AsyncElasticsearch(BaseClient):
2938
2925
  __query["refresh"] = refresh
2939
2926
  if require_alias is not None:
2940
2927
  __query["require_alias"] = require_alias
2928
+ if require_data_stream is not None:
2929
+ __query["require_data_stream"] = require_data_stream
2941
2930
  if routing is not None:
2942
2931
  __query["routing"] = routing
2943
2932
  if timeout is not None:
@@ -2973,7 +2962,8 @@ class AsyncElasticsearch(BaseClient):
2973
2962
  .. raw:: html
2974
2963
 
2975
2964
  <p>Get cluster info.
2976
- Get basic build, version, and cluster information.</p>
2965
+ Get basic build, version, and cluster information.
2966
+ ::: In Serverless, this API is retained for backward compatibility only. Some response fields, such as the version number, should be ignored.</p>
2977
2967
 
2978
2968
 
2979
2969
  `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/group/endpoint-info>`_
@@ -3586,8 +3576,7 @@ class AsyncElasticsearch(BaseClient):
3586
3576
  :param expand_wildcards: The type of index that wildcard patterns can match.
3587
3577
  If the request can target data streams, this argument determines whether
3588
3578
  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`.
3579
+ values, such as `open,hidden`.
3591
3580
  :param ignore_unavailable: If `false`, the request returns an error if it targets
3592
3581
  a missing or closed index.
3593
3582
  :param index_filter: Filter indices if the provided query rewrites to `match_none`
@@ -3887,110 +3876,14 @@ class AsyncElasticsearch(BaseClient):
3887
3876
  In this case, the response includes a count of the version conflicts that were encountered.
3888
3877
  Note that the handling of other error types is unaffected by the <code>conflicts</code> property.
3889
3878
  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>
3879
+ <p>It's recommended to reindex on indices with a green status. Reindexing can fail when a node shuts down or crashes.</p>
3932
3880
  <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>
3881
+ <li>When requested with <code>wait_for_completion=true</code> (default), the request fails if the node shuts down.</li>
3882
+ <li>When requested with <code>wait_for_completion=false</code>, a task id is returned, for use with the task management APIs. The task may disappear or fail if the node shuts down.
3883
+ When retrying a failed reindex operation, it might be necessary to set <code>conflicts=proceed</code> or to first delete the partial destination index.
3884
+ Additionally, dry runs, checking disk space, and fetching index recovery information can help address the root cause.</li>
3941
3885
  </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>
3886
+ <p>Refer to the linked documentation for examples of how to reindex documents.</p>
3994
3887
 
3995
3888
 
3996
3889
  `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-reindex>`_
@@ -4992,51 +4885,6 @@ class AsyncElasticsearch(BaseClient):
4992
4885
  <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
4886
  <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
4887
  </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
4888
  <p>The API returns results as a binary Mapbox vector tile.
5041
4889
  Mapbox vector tiles are encoded as Google Protobufs (PBF). By default, the tile contains three layers:</p>
5042
4890
  <ul>
@@ -5291,6 +5139,7 @@ class AsyncElasticsearch(BaseClient):
5291
5139
  Some cells may intersect more than one vector tile.
5292
5140
  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
5141
  Elasticsearch uses the H3 resolution that is closest to the corresponding geotile density.</p>
5142
+ <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
5143
 
5295
5144
 
5296
5145
  `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-search-mvt>`_
@@ -5480,7 +5329,7 @@ class AsyncElasticsearch(BaseClient):
5480
5329
  :param expand_wildcards: Type of index that wildcard patterns can match. If the
5481
5330
  request can target data streams, this argument determines whether wildcard
5482
5331
  expressions match hidden data streams. Supports comma-separated values, such
5483
- as `open,hidden`. Valid values are: `all`, `open`, `closed`, `hidden`, `none`.
5332
+ as `open,hidden`.
5484
5333
  :param ignore_unavailable: If `false`, the request returns an error if it targets
5485
5334
  a missing or closed index.
5486
5335
  :param local: If `true`, the request retrieves information from the local node
@@ -5592,8 +5441,7 @@ class AsyncElasticsearch(BaseClient):
5592
5441
  :param expand_wildcards: The type of index that wildcard patterns can match.
5593
5442
  If the request can target data streams, this argument determines whether
5594
5443
  wildcard expressions match hidden data streams. Supports comma-separated
5595
- values, such as `open,hidden`. Valid values are: `all`, `open`, `closed`,
5596
- `hidden`, `none`.
5444
+ values, such as `open,hidden`.
5597
5445
  :param explain: If `true`, returns detailed information about score calculation
5598
5446
  as part of each hit. If you specify both this and the `explain` query parameter,
5599
5447
  the API uses only the query parameter.
@@ -5814,7 +5662,7 @@ class AsyncElasticsearch(BaseClient):
5814
5662
  doc: t.Optional[t.Mapping[str, t.Any]] = None,
5815
5663
  error_trace: t.Optional[bool] = None,
5816
5664
  field_statistics: t.Optional[bool] = None,
5817
- fields: t.Optional[t.Union[str, t.Sequence[str]]] = None,
5665
+ fields: t.Optional[t.Sequence[str]] = None,
5818
5666
  filter: t.Optional[t.Mapping[str, t.Any]] = None,
5819
5667
  filter_path: t.Optional[t.Union[str, t.Sequence[str]]] = None,
5820
5668
  human: t.Optional[bool] = None,
@@ -5867,7 +5715,8 @@ class AsyncElasticsearch(BaseClient):
5867
5715
  The information is only retrieved for the shard the requested document resides in.
5868
5716
  The term and field statistics are therefore only useful as relative measures whereas the absolute numbers have no meaning in this context.
5869
5717
  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>
5718
+ Use <code>routing</code> only to hit a particular shard.
5719
+ Refer to the linked documentation for detailed examples of how to use this API.</p>
5871
5720
 
5872
5721
 
5873
5722
  `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-termvectors>`_
@@ -6038,7 +5887,8 @@ class AsyncElasticsearch(BaseClient):
6038
5887
  </ul>
6039
5888
  <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
5889
  <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>
5890
+ 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).
5891
+ For usage examples such as partial updates, upserts, and scripted updates, see the External documentation.</p>
6042
5892
 
6043
5893
 
6044
5894
  `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-update>`_
@@ -6231,6 +6081,24 @@ class AsyncElasticsearch(BaseClient):
6231
6081
  A bulk update request is performed for each batch of matching documents.
6232
6082
  Any query or update failures cause the update by query request to fail and the failures are shown in the response.
6233
6083
  Any update requests that completed successfully still stick, they are not rolled back.</p>
6084
+ <p><strong>Refreshing shards</strong></p>
6085
+ <p>Specifying the <code>refresh</code> parameter refreshes all shards once the request completes.
6086
+ This is different to the update API's <code>refresh</code> parameter, which causes only the shard
6087
+ that received the request to be refreshed. Unlike the update API, it does not support
6088
+ <code>wait_for</code>.</p>
6089
+ <p><strong>Running update by query asynchronously</strong></p>
6090
+ <p>If the request contains <code>wait_for_completion=false</code>, Elasticsearch
6091
+ performs some preflight checks, launches the request, and returns a
6092
+ <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.
6093
+ Elasticsearch creates a record of this task as a document at <code>.tasks/task/${taskId}</code>.</p>
6094
+ <p><strong>Waiting for active shards</strong></p>
6095
+ <p><code>wait_for_active_shards</code> controls how many copies of a shard must be active
6096
+ 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>
6097
+ for details. <code>timeout</code> controls how long each write request waits for unavailable
6098
+ shards to become available. Both work exactly the way they work in the
6099
+ <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
6100
+ specify the <code>scroll</code> parameter to control how long it keeps the search context
6101
+ alive, for example <code>?scroll=10m</code>. The default is 5 minutes.</p>
6234
6102
  <p><strong>Throttling update requests</strong></p>
6235
6103
  <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
6104
  This pads each batch with a wait time to throttle the rate.
@@ -6265,18 +6133,8 @@ class AsyncElasticsearch(BaseClient):
6265
6133
  <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
6134
  <li>Update performance scales linearly across available resources with the number of slices.</li>
6267
6135
  </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>
6136
+ <p>Whether query or update performance dominates the runtime depends on the documents being reindexed and cluster resources.
6137
+ Refer to the linked documentation for examples of how to update documents using the <code>_update_by_query</code> API:</p>
6280
6138
 
6281
6139
 
6282
6140
  `<https://www.elastic.co/docs/api/doc/elasticsearch/v9/operation/operation-update-by-query>`_
@@ -6304,8 +6162,7 @@ class AsyncElasticsearch(BaseClient):
6304
6162
  :param expand_wildcards: The type of index that wildcard patterns can match.
6305
6163
  If the request can target data streams, this argument determines whether
6306
6164
  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`.
6165
+ values, such as `open,hidden`.
6309
6166
  :param from_: Skips the specified number of documents.
6310
6167
  :param ignore_unavailable: If `false`, the request returns an error if it targets
6311
6168
  a missing or closed index.