elasticsearch-api 6.1.0 → 6.2.0

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 (435) hide show
  1. checksums.yaml +5 -5
  2. data/Gemfile +6 -0
  3. data/Rakefile +14 -2
  4. data/elasticsearch-api.gemspec +2 -2
  5. data/lib/elasticsearch/api.rb +2 -0
  6. data/lib/elasticsearch/api/actions/benchmark.rb +6 -3
  7. data/lib/elasticsearch/api/actions/bulk.rb +21 -14
  8. data/lib/elasticsearch/api/actions/cat/aliases.rb +12 -14
  9. data/lib/elasticsearch/api/actions/cat/allocation.rb +13 -15
  10. data/lib/elasticsearch/api/actions/cat/count.rb +12 -9
  11. data/lib/elasticsearch/api/actions/cat/fielddata.rb +14 -11
  12. data/lib/elasticsearch/api/actions/cat/health.rb +13 -10
  13. data/lib/elasticsearch/api/actions/cat/help.rb +7 -3
  14. data/lib/elasticsearch/api/actions/cat/indices.rb +15 -13
  15. data/lib/elasticsearch/api/actions/cat/master.rb +12 -9
  16. data/lib/elasticsearch/api/actions/cat/nodeattrs.rb +12 -8
  17. data/lib/elasticsearch/api/actions/cat/nodes.rb +13 -10
  18. data/lib/elasticsearch/api/actions/cat/params_registry.rb +44 -0
  19. data/lib/elasticsearch/api/actions/cat/pending_tasks.rb +12 -9
  20. data/lib/elasticsearch/api/actions/cat/plugins.rb +12 -8
  21. data/lib/elasticsearch/api/actions/cat/recovery.rb +13 -10
  22. data/lib/elasticsearch/api/actions/cat/repositories.rb +11 -8
  23. data/lib/elasticsearch/api/actions/cat/segments.rb +12 -8
  24. data/lib/elasticsearch/api/actions/cat/shards.rb +13 -12
  25. data/lib/elasticsearch/api/actions/cat/snapshots.rb +11 -9
  26. data/lib/elasticsearch/api/actions/cat/tasks.rb +13 -9
  27. data/lib/elasticsearch/api/actions/cat/templates.rb +13 -9
  28. data/lib/elasticsearch/api/actions/cat/thread_pool.rb +14 -11
  29. data/lib/elasticsearch/api/actions/cluster/allocation_explain.rb +8 -4
  30. data/lib/elasticsearch/api/actions/cluster/get_settings.rb +8 -6
  31. data/lib/elasticsearch/api/actions/cluster/health.rb +13 -11
  32. data/lib/elasticsearch/api/actions/cluster/params_registry.rb +44 -0
  33. data/lib/elasticsearch/api/actions/cluster/pending_tasks.rb +8 -4
  34. data/lib/elasticsearch/api/actions/cluster/put_settings.rb +6 -3
  35. data/lib/elasticsearch/api/actions/cluster/reroute.rb +12 -3
  36. data/lib/elasticsearch/api/actions/cluster/state.rb +14 -14
  37. data/lib/elasticsearch/api/actions/cluster/stats.rb +9 -5
  38. data/lib/elasticsearch/api/actions/count.rb +14 -11
  39. data/lib/elasticsearch/api/actions/count_percolate.rb +15 -11
  40. data/lib/elasticsearch/api/actions/delete.rb +14 -11
  41. data/lib/elasticsearch/api/actions/delete_by_query.rb +17 -13
  42. data/lib/elasticsearch/api/actions/delete_script.rb +10 -9
  43. data/lib/elasticsearch/api/actions/exists.rb +19 -16
  44. data/lib/elasticsearch/api/actions/explain.rb +20 -16
  45. data/lib/elasticsearch/api/actions/field_caps.rb +10 -8
  46. data/lib/elasticsearch/api/actions/field_stats.rb +11 -7
  47. data/lib/elasticsearch/api/actions/get.rb +21 -17
  48. data/lib/elasticsearch/api/actions/get_script.rb +2 -3
  49. data/lib/elasticsearch/api/actions/get_source.rb +17 -13
  50. data/lib/elasticsearch/api/actions/get_template.rb +1 -1
  51. data/lib/elasticsearch/api/actions/index.rb +17 -13
  52. data/lib/elasticsearch/api/actions/indices/analyze.rb +22 -22
  53. data/lib/elasticsearch/api/actions/indices/clear_cache.rb +16 -13
  54. data/lib/elasticsearch/api/actions/indices/close.rb +11 -10
  55. data/lib/elasticsearch/api/actions/indices/create.rb +10 -8
  56. data/lib/elasticsearch/api/actions/indices/delete.rb +11 -9
  57. data/lib/elasticsearch/api/actions/indices/delete_alias.rb +6 -3
  58. data/lib/elasticsearch/api/actions/indices/delete_template.rb +6 -3
  59. data/lib/elasticsearch/api/actions/indices/exists.rb +11 -11
  60. data/lib/elasticsearch/api/actions/indices/exists_alias.rb +11 -10
  61. data/lib/elasticsearch/api/actions/indices/exists_template.rb +6 -4
  62. data/lib/elasticsearch/api/actions/indices/exists_type.rb +11 -10
  63. data/lib/elasticsearch/api/actions/indices/flush.rb +11 -8
  64. data/lib/elasticsearch/api/actions/indices/flush_synced.rb +9 -7
  65. data/lib/elasticsearch/api/actions/indices/forcemerge.rb +9 -7
  66. data/lib/elasticsearch/api/actions/indices/freeze.rb +40 -0
  67. data/lib/elasticsearch/api/actions/indices/get.rb +13 -11
  68. data/lib/elasticsearch/api/actions/indices/get_alias.rb +11 -9
  69. data/lib/elasticsearch/api/actions/indices/get_aliases.rb +6 -3
  70. data/lib/elasticsearch/api/actions/indices/get_field_mapping.rb +11 -11
  71. data/lib/elasticsearch/api/actions/indices/get_mapping.rb +11 -9
  72. data/lib/elasticsearch/api/actions/indices/get_settings.rb +14 -12
  73. data/lib/elasticsearch/api/actions/indices/get_template.rb +6 -3
  74. data/lib/elasticsearch/api/actions/indices/get_warmer.rb +11 -9
  75. data/lib/elasticsearch/api/actions/indices/open.rb +12 -11
  76. data/lib/elasticsearch/api/actions/indices/optimize.rb +14 -11
  77. data/lib/elasticsearch/api/actions/indices/params_registry.rb +44 -0
  78. data/lib/elasticsearch/api/actions/indices/put_alias.rb +6 -3
  79. data/lib/elasticsearch/api/actions/indices/put_mapping.rb +13 -12
  80. data/lib/elasticsearch/api/actions/indices/put_settings.rb +12 -11
  81. data/lib/elasticsearch/api/actions/indices/put_template.rb +6 -3
  82. data/lib/elasticsearch/api/actions/indices/put_warmer.rb +10 -9
  83. data/lib/elasticsearch/api/actions/indices/recovery.rb +9 -5
  84. data/lib/elasticsearch/api/actions/indices/refresh.rb +10 -8
  85. data/lib/elasticsearch/api/actions/indices/rollover.rb +10 -10
  86. data/lib/elasticsearch/api/actions/indices/segments.rb +11 -9
  87. data/lib/elasticsearch/api/actions/indices/shard_stores.rb +11 -7
  88. data/lib/elasticsearch/api/actions/indices/shrink.rb +10 -10
  89. data/lib/elasticsearch/api/actions/indices/snapshot_index.rb +10 -9
  90. data/lib/elasticsearch/api/actions/indices/split.rb +16 -7
  91. data/lib/elasticsearch/api/actions/indices/stats.rb +34 -29
  92. data/lib/elasticsearch/api/actions/indices/status.rb +12 -9
  93. data/lib/elasticsearch/api/actions/indices/unfreeze.rb +39 -0
  94. data/lib/elasticsearch/api/actions/indices/update_aliases.rb +6 -3
  95. data/lib/elasticsearch/api/actions/indices/upgrade.rb +10 -7
  96. data/lib/elasticsearch/api/actions/indices/validate_query.rb +16 -13
  97. data/lib/elasticsearch/api/actions/ingest/delete_pipeline.rb +8 -4
  98. data/lib/elasticsearch/api/actions/ingest/get_pipeline.rb +6 -3
  99. data/lib/elasticsearch/api/actions/ingest/params_registry.rb +44 -0
  100. data/lib/elasticsearch/api/actions/ingest/put_pipeline.rb +8 -4
  101. data/lib/elasticsearch/api/actions/ingest/simulate.rb +6 -3
  102. data/lib/elasticsearch/api/actions/mget.rb +18 -14
  103. data/lib/elasticsearch/api/actions/mlt.rb +21 -19
  104. data/lib/elasticsearch/api/actions/mpercolate.rb +10 -7
  105. data/lib/elasticsearch/api/actions/msearch.rb +13 -9
  106. data/lib/elasticsearch/api/actions/msearch_template.rb +6 -3
  107. data/lib/elasticsearch/api/actions/mtermvectors.rb +17 -14
  108. data/lib/elasticsearch/api/actions/nodes/hot_threads.rb +11 -8
  109. data/lib/elasticsearch/api/actions/nodes/info.rb +23 -19
  110. data/lib/elasticsearch/api/actions/nodes/params_registry.rb +44 -0
  111. data/lib/elasticsearch/api/actions/nodes/reload_secure_settings.rb +37 -0
  112. data/lib/elasticsearch/api/actions/nodes/shutdown.rb +8 -5
  113. data/lib/elasticsearch/api/actions/nodes/stats.rb +18 -16
  114. data/lib/elasticsearch/api/actions/params_registry.rb +42 -0
  115. data/lib/elasticsearch/api/actions/percolate.rb +16 -14
  116. data/lib/elasticsearch/api/actions/put_script.rb +11 -10
  117. data/lib/elasticsearch/api/actions/put_template.rb +2 -2
  118. data/lib/elasticsearch/api/actions/reindex.rb +12 -8
  119. data/lib/elasticsearch/api/actions/render_search_template.rb +7 -4
  120. data/lib/elasticsearch/api/actions/scroll.rb +9 -5
  121. data/lib/elasticsearch/api/actions/search.rb +24 -18
  122. data/lib/elasticsearch/api/actions/search_exists.rb +13 -9
  123. data/lib/elasticsearch/api/actions/search_shards.rb +12 -8
  124. data/lib/elasticsearch/api/actions/search_template.rb +13 -9
  125. data/lib/elasticsearch/api/actions/snapshot/create.rb +8 -5
  126. data/lib/elasticsearch/api/actions/snapshot/create_repository.rb +9 -6
  127. data/lib/elasticsearch/api/actions/snapshot/delete.rb +6 -5
  128. data/lib/elasticsearch/api/actions/snapshot/delete_repository.rb +8 -6
  129. data/lib/elasticsearch/api/actions/snapshot/get.rb +9 -7
  130. data/lib/elasticsearch/api/actions/snapshot/get_repository.rb +8 -6
  131. data/lib/elasticsearch/api/actions/snapshot/params_registry.rb +44 -0
  132. data/lib/elasticsearch/api/actions/snapshot/restore.rb +8 -6
  133. data/lib/elasticsearch/api/actions/snapshot/status.rb +8 -5
  134. data/lib/elasticsearch/api/actions/snapshot/verify_repository.rb +9 -7
  135. data/lib/elasticsearch/api/actions/suggest.rb +10 -7
  136. data/lib/elasticsearch/api/actions/tasks/cancel.rb +10 -8
  137. data/lib/elasticsearch/api/actions/tasks/get.rb +6 -5
  138. data/lib/elasticsearch/api/actions/tasks/list.rb +13 -11
  139. data/lib/elasticsearch/api/actions/tasks/params_registry.rb +44 -0
  140. data/lib/elasticsearch/api/actions/termvectors.rb +16 -14
  141. data/lib/elasticsearch/api/actions/update.rb +24 -20
  142. data/lib/elasticsearch/api/actions/update_by_query.rb +19 -15
  143. data/lib/elasticsearch/api/version.rb +1 -1
  144. data/spec/elasticsearch/api/actions/abort_benchmark_spec.rb +17 -0
  145. data/spec/elasticsearch/api/actions/benchmark_spec.rb +17 -0
  146. data/spec/elasticsearch/api/actions/bulk_spec.rb +122 -0
  147. data/spec/elasticsearch/api/actions/cat/aliases_spec.rb +18 -0
  148. data/spec/elasticsearch/api/actions/cat/allocation_spec.rb +18 -0
  149. data/spec/elasticsearch/api/actions/cat/count_spec.rb +18 -0
  150. data/spec/elasticsearch/api/actions/cat/fielddata_spec.rb +35 -0
  151. data/spec/elasticsearch/api/actions/cat/health_spec.rb +18 -0
  152. data/spec/elasticsearch/api/actions/cat/help_spec.rb +18 -0
  153. data/spec/elasticsearch/api/actions/cat/indices_spec.rb +18 -0
  154. data/spec/elasticsearch/api/actions/cat/master_spec.rb +18 -0
  155. data/spec/elasticsearch/api/actions/cat/nodeattrs_spec.rb +18 -0
  156. data/spec/elasticsearch/api/actions/cat/nodes_spec.rb +18 -0
  157. data/spec/elasticsearch/api/actions/cat/pending_tasks_spec.rb +18 -0
  158. data/spec/elasticsearch/api/actions/cat/plugins_spec.rb +18 -0
  159. data/spec/elasticsearch/api/actions/cat/recovery_spec.rb +18 -0
  160. data/spec/elasticsearch/api/actions/cat/repositories_spec.rb +18 -0
  161. data/spec/elasticsearch/api/actions/cat/segments_spec.rb +18 -0
  162. data/spec/elasticsearch/api/actions/cat/shards_spec.rb +18 -0
  163. data/spec/elasticsearch/api/actions/cat/snapshot_spec.rb +18 -0
  164. data/spec/elasticsearch/api/actions/cat/tasks_spec.rb +18 -0
  165. data/spec/elasticsearch/api/actions/cat/templates_spec.rb +18 -0
  166. data/spec/elasticsearch/api/actions/cat/thread_pool_spec.rb +18 -0
  167. data/spec/elasticsearch/api/actions/clear_scroll_spec.rb +33 -0
  168. data/spec/elasticsearch/api/actions/cluster/allocation_explain_spec.rb +18 -0
  169. data/spec/elasticsearch/api/actions/cluster/get_settings_spec.rb +18 -0
  170. data/spec/elasticsearch/api/actions/cluster/health_spec.rb +52 -0
  171. data/spec/elasticsearch/api/actions/cluster/pending_tasks_spec.rb +18 -0
  172. data/spec/elasticsearch/api/actions/cluster/put_settings_spec.rb +18 -0
  173. data/spec/elasticsearch/api/actions/cluster/remote_info_spec.rb +18 -0
  174. data/spec/elasticsearch/api/actions/cluster/reroute_spec.rb +35 -0
  175. data/spec/elasticsearch/api/actions/cluster/state_spec.rb +52 -0
  176. data/spec/elasticsearch/api/actions/cluster/stats_spec.rb +18 -0
  177. data/spec/elasticsearch/api/actions/count_percolate_spec.rb +17 -0
  178. data/spec/elasticsearch/api/actions/count_spec.rb +49 -0
  179. data/spec/elasticsearch/api/actions/create_document_spec.rb +65 -0
  180. data/spec/elasticsearch/api/actions/delete_by_query_spec.rb +55 -0
  181. data/spec/elasticsearch/api/actions/delete_document_spec.rb +99 -0
  182. data/spec/elasticsearch/api/actions/delete_script_spec.rb +33 -0
  183. data/spec/elasticsearch/api/actions/delete_template_spec.rb +17 -0
  184. data/spec/elasticsearch/api/actions/exists_document_spec.rb +109 -0
  185. data/spec/elasticsearch/api/actions/explain_document_spec.rb +88 -0
  186. data/spec/elasticsearch/api/actions/field_caps_spec.rb +17 -0
  187. data/spec/elasticsearch/api/actions/field_stats_spec.rb +17 -0
  188. data/spec/elasticsearch/api/actions/get_document_source_spec.rb +81 -0
  189. data/spec/elasticsearch/api/actions/get_document_spec.rb +106 -0
  190. data/spec/elasticsearch/api/actions/get_script_spec.rb +39 -0
  191. data/spec/elasticsearch/api/actions/get_template_spec.rb +52 -0
  192. data/{test/unit/hashie_test.rb → spec/elasticsearch/api/actions/hashie_spec.rb} +12 -18
  193. data/spec/elasticsearch/api/actions/index_document_spec.rb +134 -0
  194. data/spec/elasticsearch/api/actions/indices/analyze_spec.rb +93 -0
  195. data/spec/elasticsearch/api/actions/indices/clear_cache_spec.rb +67 -0
  196. data/spec/elasticsearch/api/actions/indices/close_spec.rb +68 -0
  197. data/spec/elasticsearch/api/actions/indices/create_spec.rb +68 -0
  198. data/spec/elasticsearch/api/actions/indices/delete_alias_spec.rb +66 -0
  199. data/spec/elasticsearch/api/actions/indices/delete_mapping_spec.rb +77 -0
  200. data/spec/elasticsearch/api/actions/indices/delete_spec.rb +91 -0
  201. data/spec/elasticsearch/api/actions/indices/delete_template_spec.rb +69 -0
  202. data/spec/elasticsearch/api/actions/indices/delete_warmer_spec.rb +86 -0
  203. data/spec/elasticsearch/api/actions/indices/exists_alias_spec.rb +91 -0
  204. data/spec/elasticsearch/api/actions/indices/exists_spec.rb +91 -0
  205. data/spec/elasticsearch/api/actions/indices/exists_template_spec.rb +76 -0
  206. data/spec/elasticsearch/api/actions/indices/exists_type_spec.rb +91 -0
  207. data/spec/elasticsearch/api/actions/indices/flush_spec.rb +74 -0
  208. data/spec/elasticsearch/api/actions/indices/flush_synced_spec.rb +73 -0
  209. data/spec/elasticsearch/api/actions/indices/forcemerge_spec.rb +18 -0
  210. data/spec/elasticsearch/api/actions/indices/freeze_spec.rb +68 -0
  211. data/spec/elasticsearch/api/actions/indices/get_alias_spec.rb +44 -0
  212. data/spec/elasticsearch/api/actions/indices/get_aliases_spec.rb +55 -0
  213. data/spec/elasticsearch/api/actions/indices/get_field_mapping_spec.rb +44 -0
  214. data/spec/elasticsearch/api/actions/indices/get_mapping_spec.rb +66 -0
  215. data/spec/elasticsearch/api/actions/indices/get_settings_spec.rb +55 -0
  216. data/spec/elasticsearch/api/actions/indices/get_spec.rb +48 -0
  217. data/spec/elasticsearch/api/actions/indices/get_template_spec.rb +59 -0
  218. data/spec/elasticsearch/api/actions/indices/get_warmer_spec.rb +48 -0
  219. data/spec/elasticsearch/api/actions/indices/open_spec.rb +48 -0
  220. data/spec/elasticsearch/api/actions/indices/optimize_spec.rb +63 -0
  221. data/spec/elasticsearch/api/actions/indices/put_alias_spec.rb +72 -0
  222. data/spec/elasticsearch/api/actions/indices/put_mapping_spec.rb +85 -0
  223. data/spec/elasticsearch/api/actions/indices/put_settings_spec.rb +91 -0
  224. data/spec/elasticsearch/api/actions/indices/put_template_spec.rb +90 -0
  225. data/spec/elasticsearch/api/actions/indices/put_warmer_spec.rb +101 -0
  226. data/spec/elasticsearch/api/actions/indices/recovery_spec.rb +18 -0
  227. data/spec/elasticsearch/api/actions/indices/refresh_spec.rb +89 -0
  228. data/spec/elasticsearch/api/actions/indices/rollover_spec.rb +41 -0
  229. data/spec/elasticsearch/api/actions/indices/seal_spec.rb +18 -0
  230. data/spec/elasticsearch/api/actions/indices/segments_spec.rb +89 -0
  231. data/spec/elasticsearch/api/actions/indices/shard_stores_spec.rb +18 -0
  232. data/spec/elasticsearch/api/actions/indices/shrink_spec.rb +25 -0
  233. data/spec/elasticsearch/api/actions/indices/snapshot_index_spec.rb +89 -0
  234. data/spec/elasticsearch/api/actions/indices/split_spec.rb +18 -0
  235. data/spec/elasticsearch/api/actions/indices/stats_spec.rb +108 -0
  236. data/spec/elasticsearch/api/actions/indices/status_spec.rb +92 -0
  237. data/spec/elasticsearch/api/actions/indices/unfreeze_spec.rb +68 -0
  238. data/spec/elasticsearch/api/actions/indices/update_aliases_spec.rb +50 -0
  239. data/spec/elasticsearch/api/actions/indices/upgrade_spec.rb +18 -0
  240. data/spec/elasticsearch/api/actions/indices/validate_query_spec.rb +111 -0
  241. data/spec/elasticsearch/api/actions/info_spec.rb +17 -0
  242. data/spec/elasticsearch/api/actions/ingest/delete_pipeline_spec.rb +43 -0
  243. data/spec/elasticsearch/api/actions/ingest/get_pipeline_spec.rb +33 -0
  244. data/spec/elasticsearch/api/actions/ingest/put_pipeline_spec.rb +43 -0
  245. data/spec/elasticsearch/api/actions/ingest/simulate_spec.rb +33 -0
  246. data/spec/elasticsearch/api/actions/json_builders_spec.rb +68 -0
  247. data/spec/elasticsearch/api/actions/list_benchmarks_spec.rb +17 -0
  248. data/spec/elasticsearch/api/actions/mget_spec.rb +100 -0
  249. data/spec/elasticsearch/api/actions/mlt_spec.rb +117 -0
  250. data/spec/elasticsearch/api/actions/mpercolate_spec.rb +49 -0
  251. data/spec/elasticsearch/api/actions/msearch_spec.rb +152 -0
  252. data/spec/elasticsearch/api/actions/msearch_template_spec.rb +77 -0
  253. data/spec/elasticsearch/api/actions/mtermvectors_spec.rb +28 -0
  254. data/spec/elasticsearch/api/actions/nodes/hot_threads_spec.rb +44 -0
  255. data/spec/elasticsearch/api/actions/nodes/info_spec.rb +85 -0
  256. data/spec/elasticsearch/api/actions/nodes/reload_secure_settings_spec.rb +70 -0
  257. data/spec/elasticsearch/api/actions/nodes/shutdown_spec.rb +59 -0
  258. data/spec/elasticsearch/api/actions/nodes/stats_spec.rb +59 -0
  259. data/spec/elasticsearch/api/actions/percolate_spec.rb +67 -0
  260. data/spec/elasticsearch/api/actions/ping_spec.rb +58 -0
  261. data/spec/elasticsearch/api/actions/put_script_spec.rb +32 -0
  262. data/spec/elasticsearch/api/actions/put_template_spec.rb +17 -0
  263. data/spec/elasticsearch/api/actions/reindex_spec.rb +17 -0
  264. data/spec/elasticsearch/api/actions/remote/info_spec.rb +18 -0
  265. data/spec/elasticsearch/api/actions/render_search_template_spec.rb +17 -0
  266. data/spec/elasticsearch/api/actions/scoll_spec.rb +17 -0
  267. data/spec/elasticsearch/api/actions/search_exists_spec.rb +17 -0
  268. data/spec/elasticsearch/api/actions/search_shards_spec.rb +17 -0
  269. data/spec/elasticsearch/api/actions/search_spec.rb +131 -0
  270. data/spec/elasticsearch/api/actions/search_template_spec.rb +17 -0
  271. data/spec/elasticsearch/api/actions/snapshot/create_repository_spec.rb +34 -0
  272. data/spec/elasticsearch/api/actions/snapshot/create_spec.rb +34 -0
  273. data/spec/elasticsearch/api/actions/snapshot/delete_repository_spec.rb +33 -0
  274. data/spec/elasticsearch/api/actions/snapshot/delete_spec.rb +34 -0
  275. data/spec/elasticsearch/api/actions/snapshot/get_repository_spec.rb +18 -0
  276. data/spec/elasticsearch/api/actions/snapshot/get_spec.rb +34 -0
  277. data/spec/elasticsearch/api/actions/snapshot/restore_spec.rb +34 -0
  278. data/spec/elasticsearch/api/actions/snapshot/status_spec.rb +33 -0
  279. data/spec/elasticsearch/api/actions/snapshot/verify_repository_spec.rb +18 -0
  280. data/spec/elasticsearch/api/actions/suggest_spec.rb +77 -0
  281. data/spec/elasticsearch/api/actions/tasks/cancel_spec.rb +33 -0
  282. data/spec/elasticsearch/api/actions/tasks/get_spec.rb +18 -0
  283. data/spec/elasticsearch/api/actions/tasks/list_spec.rb +33 -0
  284. data/spec/elasticsearch/api/actions/termvectors_spec.rb +56 -0
  285. data/spec/elasticsearch/api/actions/update_by_query_spec.rb +17 -0
  286. data/spec/elasticsearch/api/actions/update_document_spec.rb +114 -0
  287. data/spec/elasticsearch/api/api_spec.rb +26 -0
  288. data/spec/elasticsearch/api/client_spec.rb +29 -0
  289. data/spec/elasticsearch/api/utils_spec.rb +413 -0
  290. data/spec/spec_helper.rb +72 -0
  291. data/test/integration/yaml_test_runner.rb +8 -5
  292. data/test/test_helper.rb +0 -27
  293. metadata +313 -295
  294. data/test/unit/abort_benchmark_test.rb +0 -26
  295. data/test/unit/api_test.rb +0 -28
  296. data/test/unit/benchmark_test.rb +0 -26
  297. data/test/unit/bulk_test.rb +0 -134
  298. data/test/unit/cat/aliases_test.rb +0 -26
  299. data/test/unit/cat/allocation_test.rb +0 -26
  300. data/test/unit/cat/count_test.rb +0 -26
  301. data/test/unit/cat/fielddata_test.rb +0 -38
  302. data/test/unit/cat/health_test.rb +0 -26
  303. data/test/unit/cat/help_test.rb +0 -26
  304. data/test/unit/cat/indices_test.rb +0 -26
  305. data/test/unit/cat/master_test.rb +0 -26
  306. data/test/unit/cat/nodeattrs_test.rb +0 -26
  307. data/test/unit/cat/nodes_test.rb +0 -26
  308. data/test/unit/cat/pending_tasks_test.rb +0 -26
  309. data/test/unit/cat/plugins_test.rb +0 -26
  310. data/test/unit/cat/recovery_test.rb +0 -26
  311. data/test/unit/cat/repositories_test.rb +0 -26
  312. data/test/unit/cat/segments_test.rb +0 -26
  313. data/test/unit/cat/shards_test.rb +0 -26
  314. data/test/unit/cat/snapshots_test.rb +0 -26
  315. data/test/unit/cat/tasks_test.rb +0 -26
  316. data/test/unit/cat/templates_test.rb +0 -26
  317. data/test/unit/cat/thread_pool_test.rb +0 -26
  318. data/test/unit/clear_scroll_test.rb +0 -38
  319. data/test/unit/client_test.rb +0 -31
  320. data/test/unit/cluster/allocation_explain_test.rb +0 -26
  321. data/test/unit/cluster/get_settings_test.rb +0 -26
  322. data/test/unit/cluster/health_test.rb +0 -47
  323. data/test/unit/cluster/pending_tasks_test.rb +0 -26
  324. data/test/unit/cluster/put_settings_test.rb +0 -26
  325. data/test/unit/cluster/remote_info_test.rb +0 -26
  326. data/test/unit/cluster/reroute_test.rb +0 -38
  327. data/test/unit/cluster/state_test.rb +0 -46
  328. data/test/unit/cluster/stats_test.rb +0 -26
  329. data/test/unit/count_percolate_test.rb +0 -26
  330. data/test/unit/count_test.rb +0 -46
  331. data/test/unit/create_document_test.rb +0 -56
  332. data/test/unit/delete_by_query_test.rb +0 -51
  333. data/test/unit/delete_document_test.rb +0 -85
  334. data/test/unit/delete_script_test.rb +0 -26
  335. data/test/unit/delete_template_test.rb +0 -26
  336. data/test/unit/exists_document_test.rb +0 -90
  337. data/test/unit/explain_document_test.rb +0 -73
  338. data/test/unit/field_caps_test.rb +0 -26
  339. data/test/unit/field_stats_test.rb +0 -26
  340. data/test/unit/get_document_source_test.rb +0 -71
  341. data/test/unit/get_document_test.rb +0 -85
  342. data/test/unit/get_script_test.rb +0 -26
  343. data/test/unit/get_template_test.rb +0 -41
  344. data/test/unit/index_document_test.rb +0 -92
  345. data/test/unit/indices/analyze_test.rb +0 -76
  346. data/test/unit/indices/clear_cache_test.rb +0 -54
  347. data/test/unit/indices/close_test.rb +0 -51
  348. data/test/unit/indices/create_test.rb +0 -51
  349. data/test/unit/indices/delete_alias_test.rb +0 -47
  350. data/test/unit/indices/delete_mapping_test.rb +0 -56
  351. data/test/unit/indices/delete_template_test.rb +0 -51
  352. data/test/unit/indices/delete_test.rb +0 -69
  353. data/test/unit/indices/delete_warmer_test.rb +0 -68
  354. data/test/unit/indices/exists_alias_test.rb +0 -73
  355. data/test/unit/indices/exists_template_test.rb +0 -59
  356. data/test/unit/indices/exists_test.rb +0 -71
  357. data/test/unit/indices/exists_type_test.rb +0 -73
  358. data/test/unit/indices/flush_synced_test.rb +0 -41
  359. data/test/unit/indices/flush_test.rb +0 -54
  360. data/test/unit/indices/forcemerge_test.rb +0 -26
  361. data/test/unit/indices/get_alias_test.rb +0 -44
  362. data/test/unit/indices/get_aliases_test.rb +0 -54
  363. data/test/unit/indices/get_field_mapping_test.rb +0 -44
  364. data/test/unit/indices/get_mapping_test.rb +0 -62
  365. data/test/unit/indices/get_settings_test.rb +0 -54
  366. data/test/unit/indices/get_template_test.rb +0 -43
  367. data/test/unit/indices/get_test.rb +0 -45
  368. data/test/unit/indices/get_warmer_test.rb +0 -44
  369. data/test/unit/indices/open_test.rb +0 -51
  370. data/test/unit/indices/optimize_test.rb +0 -54
  371. data/test/unit/indices/put_alias_test.rb +0 -59
  372. data/test/unit/indices/put_mapping_test.rb +0 -60
  373. data/test/unit/indices/put_settings_test.rb +0 -68
  374. data/test/unit/indices/put_template_test.rb +0 -57
  375. data/test/unit/indices/put_warmer_test.rb +0 -65
  376. data/test/unit/indices/recovery_test.rb +0 -26
  377. data/test/unit/indices/refresh_test.rb +0 -64
  378. data/test/unit/indices/rollover_test.rb +0 -38
  379. data/test/unit/indices/seal_test.rb +0 -25
  380. data/test/unit/indices/segments_test.rb +0 -64
  381. data/test/unit/indices/shard_stores_test.rb +0 -26
  382. data/test/unit/indices/shrink_test.rb +0 -33
  383. data/test/unit/indices/snapshot_index_test.rb +0 -64
  384. data/test/unit/indices/split_test.rb +0 -26
  385. data/test/unit/indices/stats_test.rb +0 -76
  386. data/test/unit/indices/status_test.rb +0 -72
  387. data/test/unit/indices/update_aliases_test.rb +0 -42
  388. data/test/unit/indices/upgrade_test.rb +0 -26
  389. data/test/unit/indices/validate_query_test.rb +0 -84
  390. data/test/unit/info_test.rb +0 -26
  391. data/test/unit/ingest/delete_pipeline_test.rb +0 -41
  392. data/test/unit/ingest/get_pipeline_test.rb +0 -35
  393. data/test/unit/ingest/put_pipeline_test.rb +0 -46
  394. data/test/unit/ingest/simulate_test.rb +0 -35
  395. data/test/unit/json_builders_test.rb +0 -64
  396. data/test/unit/list_benchmarks_test.rb +0 -26
  397. data/test/unit/mget_test.rb +0 -79
  398. data/test/unit/mlt_test.rb +0 -89
  399. data/test/unit/mpercolate_test.rb +0 -51
  400. data/test/unit/msearch_template_test.rb +0 -61
  401. data/test/unit/msearch_test.rb +0 -130
  402. data/test/unit/mtermvectors_test.rb +0 -38
  403. data/test/unit/nodes/hot_threads_test.rb +0 -44
  404. data/test/unit/nodes/info_test.rb +0 -75
  405. data/test/unit/nodes/shutdown_test.rb +0 -45
  406. data/test/unit/nodes/stats_test.rb +0 -65
  407. data/test/unit/percolate_test.rb +0 -56
  408. data/test/unit/ping_test.rb +0 -53
  409. data/test/unit/put_script_test.rb +0 -26
  410. data/test/unit/put_template_test.rb +0 -26
  411. data/test/unit/reindex_test.rb +0 -26
  412. data/test/unit/remote/info_test.rb +0 -26
  413. data/test/unit/render_search_template_test.rb +0 -25
  414. data/test/unit/scroll_test.rb +0 -26
  415. data/test/unit/search_exists_test.rb +0 -26
  416. data/test/unit/search_shards_test.rb +0 -26
  417. data/test/unit/search_template_test.rb +0 -26
  418. data/test/unit/search_test.rb +0 -116
  419. data/test/unit/snapshot/create_repository_test.rb +0 -38
  420. data/test/unit/snapshot/create_test.rb +0 -38
  421. data/test/unit/snapshot/delete_repository_test.rb +0 -35
  422. data/test/unit/snapshot/delete_test.rb +0 -38
  423. data/test/unit/snapshot/get_repository_test.rb +0 -26
  424. data/test/unit/snapshot/get_test.rb +0 -38
  425. data/test/unit/snapshot/restore_test.rb +0 -38
  426. data/test/unit/snapshot/status_test.rb +0 -38
  427. data/test/unit/snapshot/verify_repository_test.rb +0 -26
  428. data/test/unit/suggest_test.rb +0 -64
  429. data/test/unit/tasks/cancel_test.rb +0 -38
  430. data/test/unit/tasks/get_test.rb +0 -26
  431. data/test/unit/tasks/list_test.rb +0 -38
  432. data/test/unit/termvectors_test.rb +0 -47
  433. data/test/unit/update_by_query_test.rb +0 -26
  434. data/test/unit/update_document_test.rb +0 -85
  435. data/test/unit/utils_test.rb +0 -310
@@ -38,7 +38,21 @@ module Elasticsearch
38
38
  # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-clearcache.html
39
39
  #
40
40
  def clear_cache(arguments={})
41
- valid_params = [
41
+ method = HTTP_POST
42
+ path = Utils.__pathify Utils.__listify(arguments[:index]), '_cache/clear'
43
+
44
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
45
+ body = nil
46
+
47
+ params[:fields] = Utils.__listify(params[:fields]) if params[:fields]
48
+
49
+ perform_request(method, path, params, body).body
50
+ end
51
+
52
+ # Register this action with its valid params when the module is loaded.
53
+ #
54
+ # @since 6.2.0
55
+ ParamsRegistry.register(:clear_cache, [
42
56
  :field_data,
43
57
  :fielddata,
44
58
  :fields,
@@ -49,18 +63,7 @@ module Elasticsearch
49
63
  :index,
50
64
  :recycler,
51
65
  :request_cache,
52
- :request ]
53
-
54
- method = HTTP_POST
55
- path = Utils.__pathify Utils.__listify(arguments[:index]), '_cache/clear'
56
-
57
- params = Utils.__validate_and_extract_params arguments, valid_params
58
- body = nil
59
-
60
- params[:fields] = Utils.__listify(params[:fields]) if params[:fields]
61
-
62
- perform_request(method, path, params, body).body
63
- end
66
+ :request ].freeze)
64
67
  end
65
68
  end
66
69
  end
@@ -28,23 +28,24 @@ module Elasticsearch
28
28
  #
29
29
  def close(arguments={})
30
30
  raise ArgumentError, "Required argument 'index' missing" unless arguments[:index]
31
-
32
- valid_params = [
33
- :ignore_indices,
34
- :ignore_unavailable,
35
- :allow_no_indices,
36
- :expand_wildcards,
37
- :timeout
38
- ]
39
-
40
31
  method = HTTP_POST
41
32
  path = Utils.__pathify Utils.__listify(arguments[:index]), '_close'
42
33
 
43
- params = Utils.__validate_and_extract_params arguments, valid_params
34
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
44
35
  body = nil
45
36
 
46
37
  perform_request(method, path, params, body).body
47
38
  end
39
+
40
+ # Register this action with its valid params when the module is loaded.
41
+ #
42
+ # @since 6.2.0
43
+ ParamsRegistry.register(:close, [
44
+ :ignore_indices,
45
+ :ignore_unavailable,
46
+ :allow_no_indices,
47
+ :expand_wildcards,
48
+ :timeout ].freeze)
48
49
  end
49
50
  end
50
51
  end
@@ -70,21 +70,23 @@ module Elasticsearch
70
70
  #
71
71
  def create(arguments={})
72
72
  raise ArgumentError, "Required argument 'index' missing" unless arguments[:index]
73
- valid_params = [
74
- :timeout,
75
- :master_timeout,
76
- :update_all_types,
77
- :wait_for_active_shards
78
- ]
79
-
80
73
  method = HTTP_PUT
81
74
  path = Utils.__pathify Utils.__escape(arguments[:index])
82
75
 
83
- params = Utils.__validate_and_extract_params arguments, valid_params
76
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
84
77
  body = arguments[:body]
85
78
 
86
79
  perform_request(method, path, params, body).body
87
80
  end
81
+
82
+ # Register this action with its valid params when the module is loaded.
83
+ #
84
+ # @since 6.2.0
85
+ ParamsRegistry.register(:create, [
86
+ :timeout,
87
+ :master_timeout,
88
+ :update_all_types,
89
+ :wait_for_active_shards ].freeze)
88
90
  end
89
91
  end
90
92
  end
@@ -34,18 +34,10 @@ module Elasticsearch
34
34
  # @see http://www.elasticsearch.org/guide/reference/api/admin-indices-delete-index/
35
35
  #
36
36
  def delete(arguments={})
37
- valid_params = [
38
- :timeout,
39
- :master_timeout,
40
- :ignore_unavailable,
41
- :allow_no_indices,
42
- :expand_wildcards
43
- ]
44
-
45
37
  method = HTTP_DELETE
46
38
  path = Utils.__pathify Utils.__listify(arguments[:index])
47
39
 
48
- params = Utils.__validate_and_extract_params arguments, valid_params
40
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
49
41
  body = nil
50
42
 
51
43
  if Array(arguments[:ignore]).include?(404)
@@ -54,6 +46,16 @@ module Elasticsearch
54
46
  perform_request(method, path, params, body).body
55
47
  end
56
48
  end
49
+
50
+ # Register this action with its valid params when the module is loaded.
51
+ #
52
+ # @since 6.2.0
53
+ ParamsRegistry.register(:delete, [
54
+ :timeout,
55
+ :master_timeout,
56
+ :ignore_unavailable,
57
+ :allow_no_indices,
58
+ :expand_wildcards ].freeze)
57
59
  end
58
60
  end
59
61
  end
@@ -20,16 +20,19 @@ module Elasticsearch
20
20
  def delete_alias(arguments={})
21
21
  raise ArgumentError, "Required argument 'index' missing" unless arguments[:index]
22
22
  raise ArgumentError, "Required argument 'name' missing" unless arguments[:name]
23
- valid_params = [ :timeout ]
24
-
25
23
  method = HTTP_DELETE
26
24
  path = Utils.__pathify Utils.__escape(arguments[:index]), '_alias', Utils.__escape(arguments[:name])
27
25
 
28
- params = Utils.__validate_and_extract_params arguments, valid_params
26
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
29
27
  body = nil
30
28
 
31
29
  perform_request(method, path, params, body).body
32
30
  end
31
+
32
+ # Register this action with its valid params when the module is loaded.
33
+ #
34
+ # @since 6.2.0
35
+ ParamsRegistry.register(:delete_alias, [ :timeout ].freeze)
33
36
  end
34
37
  end
35
38
  end
@@ -20,12 +20,10 @@ module Elasticsearch
20
20
  #
21
21
  def delete_template(arguments={})
22
22
  raise ArgumentError, "Required argument 'name' missing" unless arguments[:name]
23
- valid_params = [ :timeout ]
24
-
25
23
  method = HTTP_DELETE
26
24
  path = Utils.__pathify '_template', Utils.__escape(arguments[:name])
27
25
 
28
- params = Utils.__validate_and_extract_params arguments, valid_params
26
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
29
27
  body = nil
30
28
 
31
29
  if Array(arguments[:ignore]).include?(404)
@@ -34,6 +32,11 @@ module Elasticsearch
34
32
  perform_request(method, path, params, body).body
35
33
  end
36
34
  end
35
+
36
+ # Register this action with its valid params when the module is loaded.
37
+ #
38
+ # @since 6.2.0
39
+ ParamsRegistry.register(:delete_template, [ :timeout ].freeze)
37
40
  end
38
41
  end
39
42
  end
@@ -28,26 +28,26 @@ module Elasticsearch
28
28
  #
29
29
  def exists(arguments={})
30
30
  raise ArgumentError, "Required argument 'index' missing" unless arguments[:index]
31
-
32
- valid_params = [
33
- :ignore_indices,
34
- :ignore_unavailable,
35
- :allow_no_indices,
36
- :expand_wildcards,
37
- :local
38
- ]
39
-
40
31
  method = HTTP_HEAD
41
32
  path = Utils.__listify(arguments[:index])
42
- params = Utils.__validate_and_extract_params arguments, valid_params
33
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
43
34
  body = nil
44
35
 
45
36
  Utils.__rescue_from_not_found do
46
37
  perform_request(method, path, params, body).status == 200 ? true : false
47
38
  end
48
39
  end
49
-
50
40
  alias_method :exists?, :exists
41
+
42
+ # Register this action with its valid params when the module is loaded.
43
+ #
44
+ # @since 6.2.0
45
+ ParamsRegistry.register(:exists, [
46
+ :ignore_indices,
47
+ :ignore_unavailable,
48
+ :allow_no_indices,
49
+ :expand_wildcards,
50
+ :local ].freeze)
51
51
  end
52
52
  end
53
53
  end
@@ -26,26 +26,27 @@ module Elasticsearch
26
26
  # @see http://www.elasticsearch.org/guide/reference/api/admin-indices-aliases/
27
27
  #
28
28
  def exists_alias(arguments={})
29
- valid_params = [
30
- :ignore_indices,
31
- :ignore_unavailable,
32
- :allow_no_indices,
33
- :expand_wildcards,
34
- :local
35
- ]
36
-
37
29
  method = HTTP_HEAD
38
30
  path = Utils.__pathify Utils.__listify(arguments[:index]), '_alias', Utils.__escape(arguments[:name])
39
31
 
40
- params = Utils.__validate_and_extract_params arguments, valid_params
32
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
41
33
  body = nil
42
34
 
43
35
  Utils.__rescue_from_not_found do
44
36
  perform_request(method, path, params, body).status == 200 ? true : false
45
37
  end
46
38
  end
47
-
48
39
  alias_method :exists_alias?, :exists_alias
40
+
41
+ # Register this action with its valid params when the module is loaded.
42
+ #
43
+ # @since 6.2.0
44
+ ParamsRegistry.register(:exists_alias, [
45
+ :ignore_indices,
46
+ :ignore_unavailable,
47
+ :allow_no_indices,
48
+ :expand_wildcards,
49
+ :local ].freeze)
49
50
  end
50
51
  end
51
52
  end
@@ -15,20 +15,22 @@ module Elasticsearch
15
15
  #
16
16
  def exists_template(arguments={})
17
17
  raise ArgumentError, "Required argument 'name' missing" unless arguments[:name]
18
- valid_params = [ :local, :master_timeout ]
19
-
20
18
  method = HTTP_HEAD
21
19
  path = Utils.__pathify '_template', Utils.__escape(arguments[:name])
22
20
 
23
- params = Utils.__validate_and_extract_params arguments, valid_params
21
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
24
22
  body = nil
25
23
 
26
24
  Utils.__rescue_from_not_found do
27
25
  perform_request(method, path, params, body).status == 200 ? true : false
28
26
  end
29
27
  end
30
-
31
28
  alias_method :exists_template?, :exists_template
29
+
30
+ # Register this action with its valid params when the module is loaded.
31
+ #
32
+ # @since 6.2.0
33
+ ParamsRegistry.register(:exists_template, [ :local, :master_timeout ].freeze)
32
34
  end
33
35
  end
34
36
  end
@@ -27,26 +27,27 @@ module Elasticsearch
27
27
  def exists_type(arguments={})
28
28
  raise ArgumentError, "Required argument 'index' missing" unless arguments[:index]
29
29
  raise ArgumentError, "Required argument 'type' missing" unless arguments[:type]
30
- valid_params = [
31
- :ignore_indices,
32
- :ignore_unavailable,
33
- :allow_no_indices,
34
- :expand_wildcards,
35
- :local
36
- ]
37
-
38
30
  method = HTTP_HEAD
39
31
  path = Utils.__pathify Utils.__listify(arguments[:index]), '_mapping', Utils.__escape(arguments[:type])
40
32
 
41
- params = Utils.__validate_and_extract_params arguments, valid_params
33
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
42
34
  body = nil
43
35
 
44
36
  Utils.__rescue_from_not_found do
45
37
  perform_request(method, path, params, body).status == 200 ? true : false
46
38
  end
47
39
  end
48
-
49
40
  alias_method :exists_type?, :exists_type
41
+
42
+ # Register this action with its valid params when the module is loaded.
43
+ #
44
+ # @since 6.2.0
45
+ ParamsRegistry.register(:exists_type, [
46
+ :ignore_indices,
47
+ :ignore_unavailable,
48
+ :allow_no_indices,
49
+ :expand_wildcards,
50
+ :local ].freeze)
50
51
  end
51
52
  end
52
53
  end
@@ -24,21 +24,24 @@ module Elasticsearch
24
24
  # @see http://www.elasticsearch.org/guide/reference/api/admin-indices-flush/
25
25
  #
26
26
  def flush(arguments={})
27
- valid_params = [
28
- :force,
29
- :wait_if_ongoing,
30
- :ignore_unavailable,
31
- :allow_no_indices,
32
- :expand_wildcards ]
33
-
34
27
  method = HTTP_POST
35
28
  path = Utils.__pathify Utils.__listify(arguments[:index]), '_flush'
36
29
 
37
- params = Utils.__validate_and_extract_params arguments, valid_params
30
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
38
31
  body = nil
39
32
 
40
33
  perform_request(method, path, params, body).body
41
34
  end
35
+
36
+ # Register this action with its valid params when the module is loaded.
37
+ #
38
+ # @since 6.2.0
39
+ ParamsRegistry.register(:flush, [
40
+ :force,
41
+ :wait_if_ongoing,
42
+ :ignore_unavailable,
43
+ :allow_no_indices,
44
+ :expand_wildcards ].freeze)
42
45
  end
43
46
  end
44
47
  end
@@ -11,16 +11,10 @@ module Elasticsearch
11
11
  # @see http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-flush.html
12
12
  #
13
13
  def flush_synced(arguments={})
14
- valid_params = [
15
- :ignore_unavailable,
16
- :allow_no_indices,
17
- :expand_wildcards
18
- ]
19
-
20
14
  method = HTTP_POST
21
15
  path = Utils.__pathify Utils.__listify(arguments[:index]), '_flush/synced'
22
16
 
23
- params = Utils.__validate_and_extract_params arguments, valid_params
17
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
24
18
  body = nil
25
19
 
26
20
  if Array(arguments[:ignore]).include?(404)
@@ -29,6 +23,14 @@ module Elasticsearch
29
23
  perform_request(method, path, params, body).body
30
24
  end
31
25
  end
26
+
27
+ # Register this action with its valid params when the module is loaded.
28
+ #
29
+ # @since 6.2.0
30
+ ParamsRegistry.register(:flush_synced, [
31
+ :ignore_unavailable,
32
+ :allow_no_indices,
33
+ :expand_wildcards ].freeze)
32
34
  end
33
35
  end
34
36
  end
@@ -42,20 +42,22 @@ module Elasticsearch
42
42
  # @see http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-forcemerge.html
43
43
  #
44
44
  def forcemerge(arguments={})
45
- valid_params = [
46
- :max_num_segments,
47
- :only_expunge_deletes,
48
- :flush
49
- ]
50
-
51
45
  method = HTTP_POST
52
46
  path = Utils.__pathify Utils.__listify(arguments[:index]), '_forcemerge'
53
47
 
54
- params = Utils.__validate_and_extract_params arguments, valid_params
48
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
55
49
  body = nil
56
50
 
57
51
  perform_request(method, path, params, body).body
58
52
  end
53
+
54
+ # Register this action with its valid params when the module is loaded.
55
+ #
56
+ # @since 6.2.0
57
+ ParamsRegistry.register(:forcemerge, [
58
+ :max_num_segments,
59
+ :only_expunge_deletes,
60
+ :flush ].freeze)
59
61
  end
60
62
  end
61
63
  end
@@ -0,0 +1,40 @@
1
+ module Elasticsearch
2
+ module API
3
+ module Indices
4
+ module Actions
5
+
6
+ # In order to keep indices available and queryable for a longer period but at the same time reduce their
7
+ # hardware requirements they can be transitioned into a frozen state. Once an index is frozen, all of its
8
+ # transient shard memory (aside from mappings and analyzers) is moved to persistent storage.
9
+ #
10
+ # @option arguments [List] :index A comma separated list of indices to freeze. (*Required*)
11
+ #
12
+ # @note This feature is available in the Platinum distribution of Elasticsearch.
13
+ #
14
+ # @see https://www.elastic.co/guide/en/elasticsearch/reference/current/frozen-indices.html
15
+ #
16
+ def freeze(arguments = {})
17
+ raise ArgumentError, "Required argument 'index' missing" unless arguments[:index]
18
+
19
+ valid_params = [
20
+ :timeout,
21
+ :master_timeout,
22
+ :ignore_unavailable,
23
+ :allow_no_indices,
24
+ :expand_wildcards,
25
+ :wait_for_active_shards]
26
+
27
+ arguments = arguments.clone
28
+ index = arguments.delete(:index)
29
+
30
+ method = Elasticsearch::API::HTTP_POST
31
+ path = Elasticsearch::API::Utils.__pathify Elasticsearch::API::Utils.__listify(index), '_freeze'
32
+ params = Elasticsearch::API::Utils.__validate_and_extract_params arguments, valid_params
33
+
34
+ perform_request(method, path, params).body
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
40
+