elasticsearch-api 7.11.2 → 7.17.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (214) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +4 -4
  3. data/README.md +22 -45
  4. data/Rakefile +35 -65
  5. data/elasticsearch-api.gemspec +14 -8
  6. data/lib/elasticsearch/api/actions/bulk.rb +2 -2
  7. data/lib/elasticsearch/api/actions/cat/aliases.rb +1 -1
  8. data/lib/elasticsearch/api/actions/cat/allocation.rb +1 -1
  9. data/lib/elasticsearch/api/actions/cat/count.rb +1 -1
  10. data/lib/elasticsearch/api/actions/cat/fielddata.rb +1 -1
  11. data/lib/elasticsearch/api/actions/cat/health.rb +1 -1
  12. data/lib/elasticsearch/api/actions/cat/help.rb +1 -1
  13. data/lib/elasticsearch/api/actions/cat/indices.rb +1 -1
  14. data/lib/elasticsearch/api/actions/cat/master.rb +1 -1
  15. data/lib/elasticsearch/api/actions/cat/nodeattrs.rb +1 -1
  16. data/lib/elasticsearch/api/actions/cat/nodes.rb +4 -2
  17. data/lib/elasticsearch/api/actions/cat/pending_tasks.rb +1 -1
  18. data/lib/elasticsearch/api/actions/cat/plugins.rb +3 -1
  19. data/lib/elasticsearch/api/actions/cat/recovery.rb +1 -1
  20. data/lib/elasticsearch/api/actions/cat/repositories.rb +1 -1
  21. data/lib/elasticsearch/api/actions/cat/segments.rb +1 -1
  22. data/lib/elasticsearch/api/actions/cat/shards.rb +1 -1
  23. data/lib/elasticsearch/api/actions/cat/snapshots.rb +1 -1
  24. data/lib/elasticsearch/api/actions/cat/tasks.rb +1 -1
  25. data/lib/elasticsearch/api/actions/cat/templates.rb +1 -1
  26. data/lib/elasticsearch/api/actions/cat/thread_pool.rb +1 -1
  27. data/lib/elasticsearch/api/actions/clear_scroll.rb +1 -1
  28. data/lib/elasticsearch/api/actions/{abort_benchmark.rb → close_point_in_time.rb} +13 -12
  29. data/lib/elasticsearch/api/actions/cluster/allocation_explain.rb +3 -3
  30. data/lib/elasticsearch/api/actions/cluster/delete_component_template.rb +1 -1
  31. data/lib/elasticsearch/api/actions/cluster/delete_voting_config_exclusions.rb +1 -1
  32. data/lib/elasticsearch/api/actions/cluster/exists_component_template.rb +2 -1
  33. data/lib/elasticsearch/api/actions/cluster/get_component_template.rb +1 -1
  34. data/lib/elasticsearch/api/actions/cluster/get_settings.rb +1 -1
  35. data/lib/elasticsearch/api/actions/cluster/health.rb +1 -1
  36. data/lib/elasticsearch/api/actions/cluster/pending_tasks.rb +1 -1
  37. data/lib/elasticsearch/api/actions/cluster/post_voting_config_exclusions.rb +1 -1
  38. data/lib/elasticsearch/api/actions/cluster/put_component_template.rb +1 -1
  39. data/lib/elasticsearch/api/actions/cluster/put_settings.rb +1 -1
  40. data/lib/elasticsearch/api/actions/cluster/remote_info.rb +1 -1
  41. data/lib/elasticsearch/api/actions/cluster/reroute.rb +1 -1
  42. data/lib/elasticsearch/api/actions/cluster/state.rb +1 -1
  43. data/lib/elasticsearch/api/actions/cluster/stats.rb +1 -1
  44. data/lib/elasticsearch/api/actions/count.rb +7 -2
  45. data/lib/elasticsearch/api/actions/create.rb +1 -1
  46. data/lib/elasticsearch/api/actions/dangling_indices/delete_dangling_index.rb +1 -1
  47. data/lib/elasticsearch/api/actions/dangling_indices/import_dangling_index.rb +1 -1
  48. data/lib/elasticsearch/api/actions/dangling_indices/list_dangling_indices.rb +1 -1
  49. data/lib/elasticsearch/api/actions/delete.rb +1 -1
  50. data/lib/elasticsearch/api/actions/delete_by_query.rb +1 -7
  51. data/lib/elasticsearch/api/actions/delete_by_query_rethrottle.rb +1 -1
  52. data/lib/elasticsearch/api/actions/delete_script.rb +1 -1
  53. data/lib/elasticsearch/api/actions/exists.rb +2 -1
  54. data/lib/elasticsearch/api/actions/exists_source.rb +2 -1
  55. data/lib/elasticsearch/api/actions/explain.rb +6 -6
  56. data/lib/elasticsearch/api/actions/{nodes/shutdown.rb → features/get_features.rb} +16 -21
  57. data/lib/elasticsearch/api/actions/features/params_registry.rb +60 -0
  58. data/lib/elasticsearch/api/actions/features/reset_features.rb +47 -0
  59. data/lib/elasticsearch/api/actions/field_caps.rb +6 -6
  60. data/lib/elasticsearch/api/actions/get.rb +1 -1
  61. data/lib/elasticsearch/api/actions/get_script.rb +1 -1
  62. data/lib/elasticsearch/api/actions/get_script_context.rb +1 -5
  63. data/lib/elasticsearch/api/actions/get_script_languages.rb +1 -5
  64. data/lib/elasticsearch/api/actions/get_source.rb +1 -1
  65. data/lib/elasticsearch/api/actions/index.rb +1 -1
  66. data/lib/elasticsearch/api/actions/indices/add_block.rb +1 -1
  67. data/lib/elasticsearch/api/actions/indices/analyze.rb +6 -6
  68. data/lib/elasticsearch/api/actions/indices/clear_cache.rb +1 -1
  69. data/lib/elasticsearch/api/actions/indices/clone.rb +1 -1
  70. data/lib/elasticsearch/api/actions/indices/close.rb +2 -2
  71. data/lib/elasticsearch/api/actions/indices/create.rb +1 -1
  72. data/lib/elasticsearch/api/actions/indices/delete.rb +2 -2
  73. data/lib/elasticsearch/api/actions/indices/delete_alias.rb +1 -1
  74. data/lib/elasticsearch/api/actions/indices/delete_index_template.rb +6 -2
  75. data/lib/elasticsearch/api/actions/indices/delete_template.rb +1 -1
  76. data/lib/elasticsearch/api/actions/indices/disk_usage.rb +68 -0
  77. data/lib/elasticsearch/api/actions/indices/exists.rb +2 -1
  78. data/lib/elasticsearch/api/actions/indices/exists_alias.rb +2 -1
  79. data/lib/elasticsearch/api/actions/indices/exists_index_template.rb +6 -2
  80. data/lib/elasticsearch/api/actions/indices/exists_template.rb +2 -1
  81. data/lib/elasticsearch/api/actions/indices/exists_type.rb +2 -1
  82. data/lib/elasticsearch/api/actions/indices/field_usage_stats.rb +66 -0
  83. data/lib/elasticsearch/api/actions/indices/flush.rb +1 -1
  84. data/lib/elasticsearch/api/actions/indices/flush_synced.rb +1 -1
  85. data/lib/elasticsearch/api/actions/indices/forcemerge.rb +1 -1
  86. data/lib/elasticsearch/api/actions/indices/get.rb +1 -1
  87. data/lib/elasticsearch/api/actions/indices/get_alias.rb +1 -1
  88. data/lib/elasticsearch/api/actions/indices/get_field_mapping.rb +1 -1
  89. data/lib/elasticsearch/api/actions/indices/get_index_template.rb +2 -2
  90. data/lib/elasticsearch/api/actions/indices/get_mapping.rb +1 -1
  91. data/lib/elasticsearch/api/actions/indices/get_settings.rb +1 -1
  92. data/lib/elasticsearch/api/actions/indices/get_template.rb +1 -1
  93. data/lib/elasticsearch/api/actions/indices/get_upgrade.rb +1 -1
  94. data/lib/elasticsearch/api/actions/indices/open.rb +1 -1
  95. data/lib/elasticsearch/api/actions/indices/put_alias.rb +1 -1
  96. data/lib/elasticsearch/api/actions/indices/put_index_template.rb +1 -1
  97. data/lib/elasticsearch/api/actions/indices/put_mapping.rb +1 -1
  98. data/lib/elasticsearch/api/actions/indices/put_settings.rb +1 -1
  99. data/lib/elasticsearch/api/actions/indices/put_template.rb +1 -1
  100. data/lib/elasticsearch/api/actions/indices/recovery.rb +1 -1
  101. data/lib/elasticsearch/api/actions/indices/refresh.rb +1 -1
  102. data/lib/elasticsearch/api/actions/indices/resolve_index.rb +1 -5
  103. data/lib/elasticsearch/api/actions/indices/rollover.rb +1 -1
  104. data/lib/elasticsearch/api/actions/indices/segments.rb +1 -1
  105. data/lib/elasticsearch/api/actions/indices/shard_stores.rb +1 -1
  106. data/lib/elasticsearch/api/actions/indices/shrink.rb +1 -1
  107. data/lib/elasticsearch/api/actions/indices/simulate_index_template.rb +1 -1
  108. data/lib/elasticsearch/api/actions/indices/simulate_template.rb +1 -1
  109. data/lib/elasticsearch/api/actions/indices/split.rb +1 -1
  110. data/lib/elasticsearch/api/actions/indices/stats.rb +1 -1
  111. data/lib/elasticsearch/api/actions/indices/update_aliases.rb +1 -1
  112. data/lib/elasticsearch/api/actions/indices/upgrade.rb +1 -1
  113. data/lib/elasticsearch/api/actions/indices/validate_query.rb +8 -8
  114. data/lib/elasticsearch/api/actions/info.rb +1 -1
  115. data/lib/elasticsearch/api/actions/ingest/delete_pipeline.rb +1 -1
  116. data/lib/elasticsearch/api/actions/ingest/geo_ip_stats.rb +43 -0
  117. data/lib/elasticsearch/api/actions/ingest/get_pipeline.rb +3 -1
  118. data/lib/elasticsearch/api/actions/ingest/processor_grok.rb +1 -1
  119. data/lib/elasticsearch/api/actions/ingest/put_pipeline.rb +3 -1
  120. data/lib/elasticsearch/api/actions/ingest/simulate.rb +1 -1
  121. data/lib/elasticsearch/api/actions/mget.rb +1 -1
  122. data/lib/elasticsearch/api/actions/msearch.rb +3 -3
  123. data/lib/elasticsearch/api/actions/msearch_template.rb +3 -3
  124. data/lib/elasticsearch/api/actions/mtermvectors.rb +8 -8
  125. data/lib/elasticsearch/api/actions/nodes/clear_repositories_metering_archive.rb +56 -0
  126. data/lib/elasticsearch/api/actions/nodes/get_repositories_metering_info.rb +52 -0
  127. data/lib/elasticsearch/api/actions/nodes/hot_threads.rb +4 -2
  128. data/lib/elasticsearch/api/actions/nodes/info.rb +2 -2
  129. data/lib/elasticsearch/api/actions/nodes/reload_secure_settings.rb +1 -1
  130. data/lib/elasticsearch/api/actions/nodes/stats.rb +5 -3
  131. data/lib/elasticsearch/api/actions/nodes/usage.rb +1 -1
  132. data/lib/elasticsearch/api/actions/open_point_in_time.rb +62 -0
  133. data/lib/elasticsearch/api/actions/ping.rb +3 -3
  134. data/lib/elasticsearch/api/actions/put_script.rb +1 -1
  135. data/lib/elasticsearch/api/actions/rank_eval.rb +1 -5
  136. data/lib/elasticsearch/api/actions/reindex.rb +1 -1
  137. data/lib/elasticsearch/api/actions/reindex_rethrottle.rb +1 -1
  138. data/lib/elasticsearch/api/actions/render_search_template.rb +6 -6
  139. data/lib/elasticsearch/api/actions/scripts_painless_execute.rb +2 -2
  140. data/lib/elasticsearch/api/actions/scroll.rb +6 -6
  141. data/lib/elasticsearch/api/actions/search.rb +11 -9
  142. data/lib/elasticsearch/api/actions/search_mvt.rb +85 -0
  143. data/lib/elasticsearch/api/actions/search_shards.rb +1 -1
  144. data/lib/elasticsearch/api/actions/search_template.rb +2 -2
  145. data/lib/elasticsearch/api/actions/shutdown/delete_node.rb +48 -0
  146. data/lib/elasticsearch/api/actions/shutdown/get_node.rb +50 -0
  147. data/lib/elasticsearch/api/actions/shutdown/params_registry.rb +60 -0
  148. data/lib/elasticsearch/api/actions/shutdown/put_node.rb +50 -0
  149. data/lib/elasticsearch/api/actions/snapshot/cleanup_repository.rb +1 -1
  150. data/lib/elasticsearch/api/actions/snapshot/clone.rb +1 -1
  151. data/lib/elasticsearch/api/actions/snapshot/create.rb +1 -1
  152. data/lib/elasticsearch/api/actions/snapshot/create_repository.rb +1 -1
  153. data/lib/elasticsearch/api/actions/snapshot/delete.rb +1 -1
  154. data/lib/elasticsearch/api/actions/snapshot/delete_repository.rb +1 -1
  155. data/lib/elasticsearch/api/actions/snapshot/get.rb +5 -1
  156. data/lib/elasticsearch/api/actions/snapshot/get_repository.rb +1 -1
  157. data/lib/elasticsearch/api/actions/snapshot/repository_analyze.rb +76 -0
  158. data/lib/elasticsearch/api/actions/snapshot/restore.rb +1 -1
  159. data/lib/elasticsearch/api/actions/snapshot/status.rb +1 -1
  160. data/lib/elasticsearch/api/actions/snapshot/verify_repository.rb +1 -1
  161. data/lib/elasticsearch/api/actions/tasks/cancel.rb +1 -1
  162. data/lib/elasticsearch/api/actions/tasks/get.rb +1 -1
  163. data/lib/elasticsearch/api/actions/tasks/list.rb +1 -1
  164. data/lib/elasticsearch/api/actions/termvectors.rb +11 -10
  165. data/lib/elasticsearch/api/actions/update.rb +1 -1
  166. data/lib/elasticsearch/api/actions/update_by_query.rb +1 -7
  167. data/lib/elasticsearch/api/actions/update_by_query_rethrottle.rb +1 -1
  168. data/lib/elasticsearch/api/{actions/remote/info.rb → namespace/features.rb} +12 -13
  169. data/lib/elasticsearch/api/namespace/security.rb +36 -0
  170. data/lib/elasticsearch/api/namespace/shutdown.rb +37 -0
  171. data/lib/elasticsearch/api/utils.rb +7 -3
  172. data/lib/elasticsearch/api/version.rb +1 -1
  173. data/lib/elasticsearch/api.rb +3 -1
  174. data/spec/elasticsearch/api/actions/{benchmark_spec.rb → close_point_in_time_spec.rb} +6 -6
  175. data/spec/elasticsearch/api/actions/count_spec.rb +2 -5
  176. data/spec/elasticsearch/api/actions/{remote/info_spec.rb → features/get_features_spec.rb} +7 -8
  177. data/spec/elasticsearch/api/actions/features/reset_features_spec.rb +34 -0
  178. data/spec/elasticsearch/api/actions/indices/clear_cache_spec.rb +16 -3
  179. data/spec/elasticsearch/api/actions/indices/disk_usage_spec.rb +48 -0
  180. data/spec/elasticsearch/api/actions/indices/field_usage_stats_spec.rb +46 -0
  181. data/spec/elasticsearch/api/actions/ingest/geo_ip_stats_spec.rb +34 -0
  182. data/spec/elasticsearch/api/actions/nodes/clear_repositories_metering_archive_spec.rb +51 -0
  183. data/spec/elasticsearch/api/actions/nodes/get_repositories_metering_info_spec.rb +44 -0
  184. data/spec/elasticsearch/api/actions/{abort_benchmark_spec.rb → open_point_in_time_spec.rb} +5 -5
  185. data/spec/elasticsearch/api/actions/search_mvt_spec.rb +52 -0
  186. data/spec/elasticsearch/api/actions/shutdown/delete_node_spec.rb +44 -0
  187. data/spec/elasticsearch/api/actions/shutdown/get_node_spec.rb +46 -0
  188. data/spec/elasticsearch/api/actions/shutdown/put_node_spec.rb +50 -0
  189. data/spec/elasticsearch/api/actions/snapshot/repository_analize_spec.rb +48 -0
  190. data/spec/elasticsearch/api/rest_api_yaml_spec.rb +24 -5
  191. data/spec/elasticsearch/api/utils_spec.rb +9 -21
  192. data/spec/rest_yaml_tests_helper.rb +76 -62
  193. data/spec/skipped_tests.yml +29 -0
  194. data/spec/spec_helper.rb +9 -2
  195. data/utils/Gemfile +4 -3
  196. data/utils/README.md +6 -1
  197. data/utils/thor/.rubocop.yml +2 -0
  198. data/utils/thor/generate_source.rb +18 -13
  199. data/utils/thor/generator/endpoint_specifics.rb +7 -1
  200. data/utils/thor/generator/files_helper.rb +38 -20
  201. data/utils/thor/templates/_documentation_top.erb +19 -0
  202. data/utils/thor/templates/_method_setup.erb +18 -0
  203. data/utils/thor/templates/_params_registry.erb +19 -0
  204. data/utils/thor/templates/_perform_request.erb +20 -2
  205. data/utils/thor/templates/test.erb +16 -3
  206. data/utils/thor/templates/test_helper.rb +0 -4
  207. metadata +68 -44
  208. data/lib/elasticsearch/api/actions/benchmark.rb +0 -81
  209. data/lib/elasticsearch/api/actions/delete_by_rethrottle.rb +0 -47
  210. data/lib/elasticsearch/api/actions/indices/freeze.rb +0 -56
  211. data/lib/elasticsearch/api/actions/indices/unfreeze.rb +0 -56
  212. data/spec/elasticsearch/api/actions/indices/freeze_spec.rb +0 -85
  213. data/spec/elasticsearch/api/actions/indices/unfreeze_spec.rb +0 -85
  214. data/spec/elasticsearch/api/actions/nodes/shutdown_spec.rb +0 -76
@@ -27,7 +27,7 @@ module Elasticsearch
27
27
  # @option arguments [Hash] :headers Custom HTTP headers
28
28
  # @option arguments [Hash] :body The document (*Required*)
29
29
  #
30
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.11/modules-scripting.html
30
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.17/modules-scripting.html
31
31
  #
32
32
  def put_script(arguments = {})
33
33
  raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
@@ -19,10 +19,6 @@ module Elasticsearch
19
19
  module API
20
20
  module Actions
21
21
  # Allows to evaluate the quality of ranked search results over a set of typical search queries
22
- # This functionality is Experimental and may be changed or removed
23
- # completely in a future release. Elastic will take a best effort approach
24
- # to fix any issues, but experimental features are not subject to the
25
- # support SLA of official GA features.
26
22
  #
27
23
  # @option arguments [List] :index A comma-separated list of index names to search; use `_all` or empty string to perform the operation on all indices
28
24
  # @option arguments [Boolean] :ignore_unavailable Whether specified concrete indices should be ignored when unavailable (missing or closed)
@@ -32,7 +28,7 @@ module Elasticsearch
32
28
  # @option arguments [Hash] :headers Custom HTTP headers
33
29
  # @option arguments [Hash] :body The ranking evaluation search definition, including search requests, document ratings and ranking metric definition. (*Required*)
34
30
  #
35
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.11/search-rank-eval.html
31
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.17/search-rank-eval.html
36
32
  #
37
33
  def rank_eval(arguments = {})
38
34
  raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
@@ -33,7 +33,7 @@ module Elasticsearch
33
33
  # @option arguments [Hash] :headers Custom HTTP headers
34
34
  # @option arguments [Hash] :body The search definition using the Query DSL and the prototype for the index request. (*Required*)
35
35
  #
36
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.11/docs-reindex.html
36
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.17/docs-reindex.html
37
37
  #
38
38
  def reindex(arguments = {})
39
39
  raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
@@ -24,7 +24,7 @@ module Elasticsearch
24
24
  # @option arguments [Number] :requests_per_second The throttle to set on this request in floating sub-requests per second. -1 means set no throttle. (*Required*)
25
25
  # @option arguments [Hash] :headers Custom HTTP headers
26
26
  #
27
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.11/docs-reindex.html
27
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.17/docs-reindex.html
28
28
  #
29
29
  def reindex_rethrottle(arguments = {})
30
30
  raise ArgumentError, "Required argument 'task_id' missing" unless arguments[:task_id]
@@ -24,7 +24,7 @@ module Elasticsearch
24
24
  # @option arguments [Hash] :headers Custom HTTP headers
25
25
  # @option arguments [Hash] :body The search definition template and its params
26
26
  #
27
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.11/search-template.html#_validating_templates
27
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.17/render-search-template-api.html
28
28
  #
29
29
  def render_search_template(arguments = {})
30
30
  headers = arguments.delete(:headers) || {}
@@ -39,11 +39,11 @@ module Elasticsearch
39
39
  Elasticsearch::API::HTTP_GET
40
40
  end
41
41
 
42
- path = if _id
43
- "_render/template/#{Utils.__listify(_id)}"
44
- else
45
- "_render/template"
46
- end
42
+ path = if _id
43
+ "_render/template/#{Utils.__listify(_id)}"
44
+ else
45
+ "_render/template"
46
+ end
47
47
  params = {}
48
48
 
49
49
  body = arguments[:body]
@@ -27,7 +27,7 @@ module Elasticsearch
27
27
  # @option arguments [Hash] :headers Custom HTTP headers
28
28
  # @option arguments [Hash] :body The script to execute
29
29
  #
30
- # @see https://www.elastic.co/guide/en/elasticsearch/painless/7.11/painless-execute-api.html
30
+ # @see https://www.elastic.co/guide/en/elasticsearch/painless/7.17/painless-execute-api.html
31
31
  #
32
32
  def scripts_painless_execute(arguments = {})
33
33
  headers = arguments.delete(:headers) || {}
@@ -40,7 +40,7 @@ module Elasticsearch
40
40
  Elasticsearch::API::HTTP_GET
41
41
  end
42
42
 
43
- path = "_scripts/painless/_execute"
43
+ path = "_scripts/painless/_execute"
44
44
  params = {}
45
45
 
46
46
  body = arguments[:body]
@@ -31,7 +31,7 @@ module Elasticsearch
31
31
  # Deprecated since version 7.0.0
32
32
  #
33
33
  #
34
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.11/search-request-body.html#request-body-search-scroll
34
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.17/search-request-body.html#request-body-search-scroll
35
35
  #
36
36
  def scroll(arguments = {})
37
37
  headers = arguments.delete(:headers) || {}
@@ -46,11 +46,11 @@ module Elasticsearch
46
46
  Elasticsearch::API::HTTP_GET
47
47
  end
48
48
 
49
- path = if _scroll_id
50
- "_search/scroll/#{Utils.__listify(_scroll_id)}"
51
- else
52
- "_search/scroll"
53
- end
49
+ path = if _scroll_id
50
+ "_search/scroll/#{Utils.__listify(_scroll_id)}"
51
+ else
52
+ "_search/scroll"
53
+ end
54
54
  params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
55
55
 
56
56
  body = arguments[:body]
@@ -64,6 +64,7 @@ module Elasticsearch
64
64
  # @option arguments [Number] :max_concurrent_shard_requests The number of concurrent shard requests per node this search executes concurrently. This value should be used to limit the impact of the search on the cluster in order to limit the number of concurrent shard requests
65
65
  # @option arguments [Number] :pre_filter_shard_size A threshold that enforces a pre-filter roundtrip to prefilter search shards based on query rewriting if the number of shards the search request expands to exceeds the threshold. This filter roundtrip can limit the number of shards significantly if for instance a shard can not match any documents based on its rewrite method ie. if date filters are mandatory to match but the shard bounds and the query are disjoint.
66
66
  # @option arguments [Boolean] :rest_total_hits_as_int Indicates whether hits.total should be rendered as an integer or an object in the rest search response
67
+ # @option arguments [String] :min_compatible_shard_node The minimum compatible version that all shards involved in search should have for this request to be successful
67
68
  # @option arguments [Hash] :headers Custom HTTP headers
68
69
  # @option arguments [Hash] :body The search definition using the Query DSL
69
70
  #
@@ -72,7 +73,7 @@ module Elasticsearch
72
73
  # Deprecated since version 7.0.0
73
74
  #
74
75
  #
75
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.11/search-search.html
76
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.17/search-search.html
76
77
  #
77
78
  def search(arguments = {})
78
79
  headers = arguments.delete(:headers) || {}
@@ -90,13 +91,13 @@ module Elasticsearch
90
91
  Elasticsearch::API::HTTP_GET
91
92
  end
92
93
 
93
- path = if _index && _type
94
- "#{Utils.__listify(_index)}/#{Utils.__listify(_type)}/_search"
95
- elsif _index
96
- "#{Utils.__listify(_index)}/_search"
97
- else
98
- "_search"
99
- end
94
+ path = if _index && _type
95
+ "#{Utils.__listify(_index)}/#{Utils.__listify(_type)}/_search"
96
+ elsif _index
97
+ "#{Utils.__listify(_index)}/_search"
98
+ else
99
+ "_search"
100
+ end
100
101
  params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
101
102
 
102
103
  body = arguments[:body]
@@ -148,7 +149,8 @@ module Elasticsearch
148
149
  :batched_reduce_size,
149
150
  :max_concurrent_shard_requests,
150
151
  :pre_filter_shard_size,
151
- :rest_total_hits_as_int
152
+ :rest_total_hits_as_int,
153
+ :min_compatible_shard_node
152
154
  ].freeze)
153
155
  end
154
156
  end
@@ -0,0 +1,85 @@
1
+ # Licensed to Elasticsearch B.V. under one or more contributor
2
+ # license agreements. See the NOTICE file distributed with
3
+ # this work for additional information regarding copyright
4
+ # ownership. Elasticsearch B.V. licenses this file to you under
5
+ # the Apache License, Version 2.0 (the "License"); you may
6
+ # not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing,
12
+ # software distributed under the License is distributed on an
13
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
+ # KIND, either express or implied. See the License for the
15
+ # specific language governing permissions and limitations
16
+ # under the License.
17
+
18
+ module Elasticsearch
19
+ module API
20
+ module Actions
21
+ # Searches a vector tile for geospatial values. Returns results as a binary Mapbox vector tile.
22
+ # This functionality is Experimental and may be changed or removed
23
+ # completely in a future release. Elastic will take a best effort approach
24
+ # to fix any issues, but experimental features are not subject to the
25
+ # support SLA of official GA features.
26
+ #
27
+ # @option arguments [List] :index Comma-separated list of data streams, indices, or aliases to search
28
+ # @option arguments [String] :field Field containing geospatial data to return
29
+ # @option arguments [Integer] :zoom Zoom level for the vector tile to search
30
+ # @option arguments [Integer] :x X coordinate for the vector tile to search
31
+ # @option arguments [Integer] :y Y coordinate for the vector tile to search
32
+ # @option arguments [Boolean] :exact_bounds If false, the meta layer's feature is the bounding box of the tile. If true, the meta layer's feature is a bounding box resulting from a `geo_bounds` aggregation.
33
+ # @option arguments [Integer] :extent Size, in pixels, of a side of the vector tile.
34
+ # @option arguments [Integer] :grid_precision Additional zoom levels available through the aggs layer. Accepts 0-8.
35
+ # @option arguments [String] :grid_type Determines the geometry type for features in the aggs layer. (options: grid, point, centroid)
36
+ # @option arguments [Integer] :size Maximum number of features to return in the hits layer. Accepts 0-10000.
37
+ # @option arguments [Boolean|long] :track_total_hits Indicate if the number of documents that match the query should be tracked. A number can also be specified, to accurately track the total hit count up to the number.
38
+ # @option arguments [Hash] :headers Custom HTTP headers
39
+ # @option arguments [Hash] :body Search request body.
40
+ #
41
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.17/search-vector-tile-api.html
42
+ #
43
+ def search_mvt(arguments = {})
44
+ raise ArgumentError, "Required argument 'index' missing" unless arguments[:index]
45
+ raise ArgumentError, "Required argument 'field' missing" unless arguments[:field]
46
+ raise ArgumentError, "Required argument 'zoom' missing" unless arguments[:zoom]
47
+ raise ArgumentError, "Required argument 'x' missing" unless arguments[:x]
48
+ raise ArgumentError, "Required argument 'y' missing" unless arguments[:y]
49
+
50
+ headers = arguments.delete(:headers) || {}
51
+
52
+ arguments = arguments.clone
53
+
54
+ _index = arguments.delete(:index)
55
+
56
+ _field = arguments.delete(:field)
57
+
58
+ _zoom = arguments.delete(:zoom)
59
+
60
+ _x = arguments.delete(:x)
61
+
62
+ _y = arguments.delete(:y)
63
+
64
+ method = Elasticsearch::API::HTTP_POST
65
+ path = "#{Utils.__listify(_index)}/_mvt/#{Utils.__listify(_field)}/#{Utils.__listify(_zoom)}/#{Utils.__listify(_x)}/#{Utils.__listify(_y)}"
66
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
67
+
68
+ body = arguments[:body]
69
+ perform_request(method, path, params, body, headers).body
70
+ end
71
+
72
+ # Register this action with its valid params when the module is loaded.
73
+ #
74
+ # @since 6.2.0
75
+ ParamsRegistry.register(:search_mvt, [
76
+ :exact_bounds,
77
+ :extent,
78
+ :grid_precision,
79
+ :grid_type,
80
+ :size,
81
+ :track_total_hits
82
+ ].freeze)
83
+ end
84
+ end
85
+ end
@@ -29,7 +29,7 @@ module Elasticsearch
29
29
  # @option arguments [String] :expand_wildcards Whether to expand wildcard expression to concrete indices that are open, closed or both. (options: open, closed, hidden, none, all)
30
30
  # @option arguments [Hash] :headers Custom HTTP headers
31
31
  #
32
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.11/search-shards.html
32
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.17/search-shards.html
33
33
  #
34
34
  def search_shards(arguments = {})
35
35
  headers = arguments.delete(:headers) || {}
@@ -29,7 +29,7 @@ module Elasticsearch
29
29
  # @option arguments [String] :preference Specify the node or shard the operation should be performed on (default: random)
30
30
  # @option arguments [List] :routing A comma-separated list of specific routing values
31
31
  # @option arguments [Time] :scroll Specify how long a consistent view of the index should be maintained for scrolled search
32
- # @option arguments [String] :search_type Search operation type (options: query_then_fetch, query_and_fetch, dfs_query_then_fetch, dfs_query_and_fetch)
32
+ # @option arguments [String] :search_type Search operation type (options: query_then_fetch, dfs_query_then_fetch)
33
33
  # @option arguments [Boolean] :explain Specify whether to return detailed information about score computation as part of a hit
34
34
  # @option arguments [Boolean] :profile Specify whether to profile the query execution
35
35
  # @option arguments [Boolean] :typed_keys Specify whether aggregation and suggester names should be prefixed by their respective types in the response
@@ -43,7 +43,7 @@ module Elasticsearch
43
43
  # Deprecated since version 7.0.0
44
44
  #
45
45
  #
46
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.11/search-template.html
46
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.17/search-template.html
47
47
  #
48
48
  def search_template(arguments = {})
49
49
  raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
@@ -0,0 +1,48 @@
1
+ # Licensed to Elasticsearch B.V. under one or more contributor
2
+ # license agreements. See the NOTICE file distributed with
3
+ # this work for additional information regarding copyright
4
+ # ownership. Elasticsearch B.V. licenses this file to you under
5
+ # the Apache License, Version 2.0 (the "License"); you may
6
+ # not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing,
12
+ # software distributed under the License is distributed on an
13
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
+ # KIND, either express or implied. See the License for the
15
+ # specific language governing permissions and limitations
16
+ # under the License.
17
+
18
+ module Elasticsearch
19
+ module API
20
+ module Shutdown
21
+ module Actions
22
+ # Removes a node from the shutdown list. Designed for indirect use by ECE/ESS and ECK. Direct use is not supported.
23
+ #
24
+ # @option arguments [String] :node_id The node id of node to be removed from the shutdown state
25
+ # @option arguments [Hash] :headers Custom HTTP headers
26
+ #
27
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/current
28
+ #
29
+ def delete_node(arguments = {})
30
+ raise ArgumentError, "Required argument 'node_id' missing" unless arguments[:node_id]
31
+
32
+ headers = arguments.delete(:headers) || {}
33
+
34
+ arguments = arguments.clone
35
+
36
+ _node_id = arguments.delete(:node_id)
37
+
38
+ method = Elasticsearch::API::HTTP_DELETE
39
+ path = "_nodes/#{Utils.__listify(_node_id)}/shutdown"
40
+ params = {}
41
+
42
+ body = nil
43
+ perform_request(method, path, params, body, headers).body
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,50 @@
1
+ # Licensed to Elasticsearch B.V. under one or more contributor
2
+ # license agreements. See the NOTICE file distributed with
3
+ # this work for additional information regarding copyright
4
+ # ownership. Elasticsearch B.V. licenses this file to you under
5
+ # the Apache License, Version 2.0 (the "License"); you may
6
+ # not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing,
12
+ # software distributed under the License is distributed on an
13
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
+ # KIND, either express or implied. See the License for the
15
+ # specific language governing permissions and limitations
16
+ # under the License.
17
+
18
+ module Elasticsearch
19
+ module API
20
+ module Shutdown
21
+ module Actions
22
+ # Retrieve status of a node or nodes that are currently marked as shutting down. Designed for indirect use by ECE/ESS and ECK. Direct use is not supported.
23
+ #
24
+ # @option arguments [String] :node_id Which node for which to retrieve the shutdown status
25
+ # @option arguments [Hash] :headers Custom HTTP headers
26
+ #
27
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/current
28
+ #
29
+ def get_node(arguments = {})
30
+ headers = arguments.delete(:headers) || {}
31
+
32
+ arguments = arguments.clone
33
+
34
+ _node_id = arguments.delete(:node_id)
35
+
36
+ method = Elasticsearch::API::HTTP_GET
37
+ path = if _node_id
38
+ "_nodes/#{Utils.__listify(_node_id)}/shutdown"
39
+ else
40
+ "_nodes/shutdown"
41
+ end
42
+ params = {}
43
+
44
+ body = nil
45
+ perform_request(method, path, params, body, headers).body
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,60 @@
1
+ # Licensed to Elasticsearch B.V. under one or more contributor
2
+ # license agreements. See the NOTICE file distributed with
3
+ # this work for additional information regarding copyright
4
+ # ownership. Elasticsearch B.V. licenses this file to you under
5
+ # the Apache License, Version 2.0 (the "License"); you may
6
+ # not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing,
12
+ # software distributed under the License is distributed on an
13
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
+ # KIND, either express or implied. See the License for the
15
+ # specific language governing permissions and limitations
16
+ # under the License.
17
+
18
+ module Elasticsearch
19
+ module API
20
+ module Shutdown
21
+ module Actions
22
+ module ParamsRegistry
23
+ extend self
24
+
25
+ # A Mapping of all the actions to their list of valid params.
26
+ #
27
+ # @since 6.1.1
28
+ PARAMS = {}
29
+
30
+ # Register an action with its list of valid params.
31
+ #
32
+ # @example Register the action.
33
+ # ParamsRegistry.register(:benchmark, [ :verbose ])
34
+ #
35
+ # @param [ Symbol ] action The action to register.
36
+ # @param [ Array[Symbol] ] valid_params The list of valid params.
37
+ #
38
+ # @since 6.1.1
39
+ def register(action, valid_params)
40
+ PARAMS[action.to_sym] = valid_params
41
+ end
42
+
43
+ # Get the list of valid params for a given action.
44
+ #
45
+ # @example Get the list of valid params.
46
+ # ParamsRegistry.get(:benchmark)
47
+ #
48
+ # @param [ Symbol ] action The action.
49
+ #
50
+ # @return [ Array<Symbol> ] The list of valid params for the action.
51
+ #
52
+ # @since 6.1.1
53
+ def get(action)
54
+ PARAMS.fetch(action, [])
55
+ end
56
+ end
57
+ end
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,50 @@
1
+ # Licensed to Elasticsearch B.V. under one or more contributor
2
+ # license agreements. See the NOTICE file distributed with
3
+ # this work for additional information regarding copyright
4
+ # ownership. Elasticsearch B.V. licenses this file to you under
5
+ # the Apache License, Version 2.0 (the "License"); you may
6
+ # not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing,
12
+ # software distributed under the License is distributed on an
13
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
+ # KIND, either express or implied. See the License for the
15
+ # specific language governing permissions and limitations
16
+ # under the License.
17
+
18
+ module Elasticsearch
19
+ module API
20
+ module Shutdown
21
+ module Actions
22
+ # Adds a node to be shut down. Designed for indirect use by ECE/ESS and ECK. Direct use is not supported.
23
+ #
24
+ # @option arguments [String] :node_id The node id of node to be shut down
25
+ # @option arguments [Hash] :headers Custom HTTP headers
26
+ # @option arguments [Hash] :body The shutdown type definition to register (*Required*)
27
+ #
28
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/current
29
+ #
30
+ def put_node(arguments = {})
31
+ raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
32
+ raise ArgumentError, "Required argument 'node_id' missing" unless arguments[:node_id]
33
+
34
+ headers = arguments.delete(:headers) || {}
35
+
36
+ arguments = arguments.clone
37
+
38
+ _node_id = arguments.delete(:node_id)
39
+
40
+ method = Elasticsearch::API::HTTP_PUT
41
+ path = "_nodes/#{Utils.__listify(_node_id)}/shutdown"
42
+ params = {}
43
+
44
+ body = arguments[:body]
45
+ perform_request(method, path, params, body, headers).body
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
@@ -26,7 +26,7 @@ module Elasticsearch
26
26
  # @option arguments [Time] :timeout Explicit operation timeout
27
27
  # @option arguments [Hash] :headers Custom HTTP headers
28
28
  #
29
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.11/clean-up-snapshot-repo-api.html
29
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.17/clean-up-snapshot-repo-api.html
30
30
  #
31
31
  def cleanup_repository(arguments = {})
32
32
  raise ArgumentError, "Required argument 'repository' missing" unless arguments[:repository]
@@ -28,7 +28,7 @@ module Elasticsearch
28
28
  # @option arguments [Hash] :headers Custom HTTP headers
29
29
  # @option arguments [Hash] :body The snapshot clone definition (*Required*)
30
30
  #
31
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.11/modules-snapshots.html
31
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.17/modules-snapshots.html
32
32
  #
33
33
  def clone(arguments = {})
34
34
  raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
@@ -28,7 +28,7 @@ module Elasticsearch
28
28
  # @option arguments [Hash] :headers Custom HTTP headers
29
29
  # @option arguments [Hash] :body The snapshot definition
30
30
  #
31
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.11/modules-snapshots.html
31
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.17/modules-snapshots.html
32
32
  #
33
33
  def create(arguments = {})
34
34
  raise ArgumentError, "Required argument 'repository' missing" unless arguments[:repository]
@@ -28,7 +28,7 @@ module Elasticsearch
28
28
  # @option arguments [Hash] :headers Custom HTTP headers
29
29
  # @option arguments [Hash] :body The repository definition (*Required*)
30
30
  #
31
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.11/modules-snapshots.html
31
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.17/modules-snapshots.html
32
32
  #
33
33
  def create_repository(arguments = {})
34
34
  raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
@@ -26,7 +26,7 @@ module Elasticsearch
26
26
  # @option arguments [Time] :master_timeout Explicit operation timeout for connection to master node
27
27
  # @option arguments [Hash] :headers Custom HTTP headers
28
28
  #
29
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.11/modules-snapshots.html
29
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.17/modules-snapshots.html
30
30
  #
31
31
  def delete(arguments = {})
32
32
  raise ArgumentError, "Required argument 'repository' missing" unless arguments[:repository]
@@ -26,7 +26,7 @@ module Elasticsearch
26
26
  # @option arguments [Time] :timeout Explicit operation timeout
27
27
  # @option arguments [Hash] :headers Custom HTTP headers
28
28
  #
29
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.11/modules-snapshots.html
29
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.17/modules-snapshots.html
30
30
  #
31
31
  def delete_repository(arguments = {})
32
32
  raise ArgumentError, "Required argument 'repository' missing" unless arguments[:repository]
@@ -25,10 +25,12 @@ module Elasticsearch
25
25
  # @option arguments [List] :snapshot A comma-separated list of snapshot names
26
26
  # @option arguments [Time] :master_timeout Explicit operation timeout for connection to master node
27
27
  # @option arguments [Boolean] :ignore_unavailable Whether to ignore unavailable snapshots, defaults to false which means a SnapshotMissingException is thrown
28
+ # @option arguments [Boolean] :index_details Whether to include details of each index in the snapshot, if those details are available. Defaults to false.
29
+ # @option arguments [Boolean] :include_repository Whether to include the repository name in the snapshot info. Defaults to true.
28
30
  # @option arguments [Boolean] :verbose Whether to show verbose snapshot info or only show the basic info found in the repository index blob
29
31
  # @option arguments [Hash] :headers Custom HTTP headers
30
32
  #
31
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.11/modules-snapshots.html
33
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.17/modules-snapshots.html
32
34
  #
33
35
  def get(arguments = {})
34
36
  raise ArgumentError, "Required argument 'repository' missing" unless arguments[:repository]
@@ -60,6 +62,8 @@ module Elasticsearch
60
62
  ParamsRegistry.register(:get, [
61
63
  :master_timeout,
62
64
  :ignore_unavailable,
65
+ :index_details,
66
+ :include_repository,
63
67
  :verbose
64
68
  ].freeze)
65
69
  end
@@ -26,7 +26,7 @@ module Elasticsearch
26
26
  # @option arguments [Boolean] :local Return local information, do not retrieve the state from master node (default: false)
27
27
  # @option arguments [Hash] :headers Custom HTTP headers
28
28
  #
29
- # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.11/modules-snapshots.html
29
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/7.17/modules-snapshots.html
30
30
  #
31
31
  def get_repository(arguments = {})
32
32
  headers = arguments.delete(:headers) || {}