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
@@ -0,0 +1,39 @@
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 unfreeze. (*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 unfreeze(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), '_unfreeze'
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
@@ -32,16 +32,19 @@ module Elasticsearch
32
32
  #
33
33
  def update_aliases(arguments={})
34
34
  raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
35
- valid_params = [ :timeout ]
36
-
37
35
  method = HTTP_POST
38
36
  path = "_aliases"
39
37
 
40
- params = Utils.__validate_and_extract_params arguments, valid_params
38
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
41
39
  body = arguments[:body]
42
40
 
43
41
  perform_request(method, path, params, body).body
44
42
  end
43
+
44
+ # Register this action with its valid params when the module is loaded.
45
+ #
46
+ # @since 6.2.0
47
+ ParamsRegistry.register(:update_aliases, [ :timeout ].freeze)
45
48
  end
46
49
  end
47
50
  end
@@ -19,19 +19,22 @@ module Elasticsearch
19
19
  # @see http://www.elasticsearch.org/guide/en/elasticsearch/reference/master/indices-upgrade.html
20
20
  #
21
21
  def upgrade(arguments={})
22
- valid_params = [
23
- :ignore_unavailable,
24
- :allow_no_indices,
25
- :expand_wildcards,
26
- :wait_for_completion ]
27
-
28
22
  method = HTTP_POST
29
23
  path = "_upgrade"
30
- params = Utils.__validate_and_extract_params arguments, valid_params
24
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
31
25
  body = nil
32
26
 
33
27
  perform_request(method, path, params, body).body
34
28
  end
29
+
30
+ # Register this action with its valid params when the module is loaded.
31
+ #
32
+ # @since 6.2.0
33
+ ParamsRegistry.register(:upgrade, [
34
+ :ignore_unavailable,
35
+ :allow_no_indices,
36
+ :expand_wildcards,
37
+ :wait_for_completion ].freeze)
35
38
  end
36
39
  end
37
40
  end
@@ -66,7 +66,21 @@ module Elasticsearch
66
66
  # @see http://www.elasticsearch.org/guide/reference/api/validate/
67
67
  #
68
68
  def validate_query(arguments={})
69
- valid_params = [
69
+ method = HTTP_GET
70
+ path = Utils.__pathify Utils.__listify(arguments[:index]),
71
+ Utils.__listify(arguments[:type]),
72
+ '_validate/query'
73
+
74
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
75
+ body = arguments[:body]
76
+
77
+ perform_request(method, path, params, body).body
78
+ end
79
+
80
+ # Register this action with its valid params when the module is loaded.
81
+ #
82
+ # @since 6.2.0
83
+ ParamsRegistry.register(:validate_query, [
70
84
  :rewrite,
71
85
  :explain,
72
86
  :ignore_unavailable,
@@ -79,18 +93,7 @@ module Elasticsearch
79
93
  :default_operator,
80
94
  :df,
81
95
  :lenient,
82
- :lowercase_expanded_terms ]
83
-
84
- method = HTTP_GET
85
- path = Utils.__pathify Utils.__listify(arguments[:index]),
86
- Utils.__listify(arguments[:type]),
87
- '_validate/query'
88
-
89
- params = Utils.__validate_and_extract_params arguments, valid_params
90
- body = arguments[:body]
91
-
92
- perform_request(method, path, params, body).body
93
- end
96
+ :lowercase_expanded_terms ].freeze)
94
97
  end
95
98
  end
96
99
  end
@@ -13,16 +13,20 @@ module Elasticsearch
13
13
  #
14
14
  def delete_pipeline(arguments={})
15
15
  raise ArgumentError, "Required argument 'id' missing" unless arguments[:id]
16
- valid_params = [
17
- :master_timeout,
18
- :timeout ]
19
16
  method = 'DELETE'
20
17
  path = Utils.__pathify "_ingest/pipeline", Utils.__escape(arguments[:id])
21
- params = Utils.__validate_and_extract_params arguments, valid_params
18
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
22
19
  body = nil
23
20
 
24
21
  perform_request(method, path, params, body).body
25
22
  end
23
+
24
+ # Register this action with its valid params when the module is loaded.
25
+ #
26
+ # @since 6.2.0
27
+ ParamsRegistry.register(:delete_pipeline, [
28
+ :master_timeout,
29
+ :timeout ].freeze)
26
30
  end
27
31
  end
28
32
  end
@@ -11,15 +11,18 @@ module Elasticsearch
11
11
  # @see https://www.elastic.co/guide/en/elasticsearch/plugins/master/ingest.html
12
12
  #
13
13
  def get_pipeline(arguments={})
14
- valid_params = [
15
- :master_timeout ]
16
14
  method = 'GET'
17
15
  path = Utils.__pathify "_ingest/pipeline", Utils.__escape(arguments[:id])
18
- params = Utils.__validate_and_extract_params arguments, valid_params
16
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
19
17
  body = nil
20
18
 
21
19
  perform_request(method, path, params, body).body
22
20
  end
21
+
22
+ # Register this action with its valid params when the module is loaded.
23
+ #
24
+ # @since 6.2.0
25
+ ParamsRegistry.register(:get_pipeline, [ :master_timeout ].freeze)
23
26
  end
24
27
  end
25
28
  end
@@ -0,0 +1,44 @@
1
+ module Elasticsearch
2
+ module API
3
+ module Ingest
4
+ module Actions
5
+ module ParamsRegistry
6
+
7
+ extend self
8
+
9
+ # A Mapping of all the actions to their list of valid params.
10
+ #
11
+ # @since 6.2.0
12
+ PARAMS = {}
13
+
14
+ # Register an action with its list of valid params.
15
+ #
16
+ # @example Register the action.
17
+ # ParamsRegistry.register(:benchmark, [ :verbose ])
18
+ #
19
+ # @param [ Symbol ] action The action to register.
20
+ # @param [ Array[Symbol] ] valid_params The list of valid params.
21
+ #
22
+ # @since 6.2.0
23
+ def register(action, valid_params)
24
+ PARAMS[action.to_sym] = valid_params
25
+ end
26
+
27
+ # Get the list of valid params for a given action.
28
+ #
29
+ # @example Get the list of valid params.
30
+ # ParamsRegistry.get(:benchmark)
31
+ #
32
+ # @param [ Symbol ] action The action.
33
+ #
34
+ # @return [ Array<Symbol> ] The list of valid params for the action.
35
+ #
36
+ # @since 6.2.0
37
+ def get(action)
38
+ PARAMS.fetch(action, [])
39
+ end
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
@@ -15,17 +15,21 @@ module Elasticsearch
15
15
  def put_pipeline(arguments={})
16
16
  raise ArgumentError, "Required argument 'id' missing" unless arguments[:id]
17
17
  raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
18
- valid_params = [
19
- :master_timeout,
20
- :timeout ]
21
18
  method = 'PUT'
22
19
  path = Utils.__pathify "_ingest/pipeline", Utils.__escape(arguments[:id])
23
20
 
24
- params = Utils.__validate_and_extract_params arguments, valid_params
21
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
25
22
  body = arguments[:body]
26
23
 
27
24
  perform_request(method, path, params, body).body
28
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(:put_pipeline, [
31
+ :master_timeout,
32
+ :timeout ].freeze)
29
33
  end
30
34
  end
31
35
  end
@@ -14,15 +14,18 @@ module Elasticsearch
14
14
  #
15
15
  def simulate(arguments={})
16
16
  raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
17
- valid_params = [
18
- :verbose ]
19
17
  method = 'GET'
20
18
  path = Utils.__pathify "_ingest/pipeline", Utils.__escape(arguments[:id]), '_simulate'
21
- params = Utils.__validate_and_extract_params arguments, valid_params
19
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
22
20
  body = arguments[:body]
23
21
 
24
22
  perform_request(method, path, params, body).body
25
23
  end
24
+
25
+ # Register this action with its valid params when the module is loaded.
26
+ #
27
+ # @since 6.2.0
28
+ ParamsRegistry.register(:simulate, [ :verbose ].freeze)
26
29
  end
27
30
  end
28
31
  end
@@ -46,31 +46,35 @@ module Elasticsearch
46
46
  #
47
47
  def mget(arguments={})
48
48
  raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
49
-
50
- valid_params = [
51
- :fields,
52
- :parent,
53
- :preference,
54
- :realtime,
55
- :refresh,
56
- :routing,
57
- :_source,
58
- :_source_include,
59
- :_source_exclude,
60
- :stored_fields ]
61
-
62
49
  method = HTTP_GET
63
50
  path = Utils.__pathify Utils.__escape(arguments[:index]),
64
51
  Utils.__escape(arguments[:type]),
65
52
  '_mget'
66
53
 
67
- params = Utils.__validate_and_extract_params arguments, valid_params
54
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
68
55
  body = arguments[:body]
69
56
 
70
57
  params[:fields] = Utils.__listify(params[:fields]) if params[:fields]
71
58
 
72
59
  perform_request(method, path, params, body).body
73
60
  end
61
+
62
+ # Register this action with its valid params when the module is loaded.
63
+ #
64
+ # @since 6.2.0
65
+ ParamsRegistry.register(:mget, [
66
+ :fields,
67
+ :parent,
68
+ :preference,
69
+ :realtime,
70
+ :refresh,
71
+ :routing,
72
+ :_source,
73
+ :_source_include,
74
+ :_source_includes,
75
+ :_source_exclude,
76
+ :_source_excludes,
77
+ :stored_fields ].freeze)
74
78
  end
75
79
  end
76
80
  end
@@ -85,8 +85,27 @@ module Elasticsearch
85
85
  raise ArgumentError, "Required argument 'index' missing" unless arguments[:index]
86
86
  raise ArgumentError, "Required argument 'type' missing" unless arguments[:type]
87
87
  raise ArgumentError, "Required argument 'id' missing" unless arguments[:id]
88
+ method = HTTP_GET
89
+ path = Utils.__pathify Utils.__escape(arguments[:index]),
90
+ Utils.__escape(arguments[:type]),
91
+ Utils.__escape(arguments[:id]),
92
+ '_mlt'
93
+
94
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
95
+
96
+ [:mlt_fields, :search_indices, :search_types, :stop_words].each do |name|
97
+ params[name] = Utils.__listify(params[name]) if params[name]
98
+ end
99
+
100
+ body = arguments[:body]
88
101
 
89
- valid_params = [
102
+ perform_request(method, path, params, body).body
103
+ end
104
+
105
+ # Register this action with its valid params when the module is loaded.
106
+ #
107
+ # @since 6.2.0
108
+ ParamsRegistry.register(:mlt, [
90
109
  :boost_terms,
91
110
  :max_doc_freq,
92
111
  :max_query_terms,
@@ -105,24 +124,7 @@ module Elasticsearch
105
124
  :search_source,
106
125
  :search_type,
107
126
  :search_types,
108
- :stop_words ]
109
-
110
- method = HTTP_GET
111
- path = Utils.__pathify Utils.__escape(arguments[:index]),
112
- Utils.__escape(arguments[:type]),
113
- Utils.__escape(arguments[:id]),
114
- '_mlt'
115
-
116
- params = Utils.__validate_and_extract_params arguments, valid_params
117
-
118
- [:mlt_fields, :search_indices, :search_types, :stop_words].each do |name|
119
- params[name] = Utils.__listify(params[name]) if params[name]
120
- end
121
-
122
- body = arguments[:body]
123
-
124
- perform_request(method, path, params, body).body
125
- end
127
+ :stop_words ].freeze)
126
128
  end
127
129
  end
128
130
  end
@@ -31,16 +31,10 @@ module Elasticsearch
31
31
  #
32
32
  def mpercolate(arguments={})
33
33
  raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
34
- valid_params = [
35
- :ignore_unavailable,
36
- :allow_no_indices,
37
- :expand_wildcards,
38
- :percolate_format ]
39
-
40
34
  method = HTTP_GET
41
35
  path = "_mpercolate"
42
36
 
43
- params = Utils.__validate_and_extract_params arguments, valid_params
37
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
44
38
  body = arguments[:body]
45
39
 
46
40
  case
@@ -54,6 +48,15 @@ module Elasticsearch
54
48
 
55
49
  perform_request(method, path, params, payload).body
56
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(:mpercolate, [
56
+ :ignore_unavailable,
57
+ :allow_no_indices,
58
+ :expand_wildcards,
59
+ :percolate_format ].freeze)
57
60
  end
58
61
  end
59
62
  end
@@ -22,13 +22,13 @@ module Elasticsearch
22
22
  # { query: { match_all: {} } },
23
23
  # { index: 'myindex', type: 'mytype' },
24
24
  # { query: { query_string: { query: '"Test 1"' } } },
25
- # { search_type: 'count' },
25
+ # { search_type: 'query_then_fetch' },
26
26
  # { aggregations: { published: { terms: { field: 'published' } } } }
27
27
  # ]
28
28
  #
29
29
  # @option arguments [List] :index A comma-separated list of index names to use as default
30
30
  # @option arguments [List] :type A comma-separated list of document types to use as default
31
- # @option arguments [Hash] :body The request definitions (metadata-search request definition pairs), separated by newlines (*Required*)
31
+ # @option arguments [Hash] :body The request definitions (metadata-search request definition pairs)
32
32
  # @option arguments [String] :search_type Search operation type (options: query_then_fetch, query_and_fetch, dfs_query_then_fetch, dfs_query_and_fetch)
33
33
  # @option arguments [Number] :max_concurrent_searches Controls the maximum number of concurrent searches the multi search api will execute
34
34
  # @option arguments [Boolean] :typed_keys Specify whether aggregation and suggester names should be prefixed by their respective types in the response
@@ -37,16 +37,10 @@ module Elasticsearch
37
37
  #
38
38
  def msearch(arguments={})
39
39
  raise ArgumentError, "Required argument 'body' missing" unless arguments[:body]
40
-
41
- valid_params = [
42
- :search_type,
43
- :max_concurrent_searches,
44
- :typed_keys ]
45
-
46
40
  method = HTTP_GET
47
41
  path = Utils.__pathify( Utils.__listify(arguments[:index]), Utils.__listify(arguments[:type]), '_msearch' )
48
42
 
49
- params = Utils.__validate_and_extract_params arguments, valid_params
43
+ params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
50
44
  body = arguments[:body]
51
45
 
52
46
  case
@@ -73,6 +67,16 @@ module Elasticsearch
73
67
 
74
68
  perform_request(method, path, params, payload, {"Content-Type" => "application/x-ndjson"}).body
75
69
  end
70
+
71
+ # Register this action with its valid params when the module is loaded.
72
+ #
73
+ # @since 6.2.0
74
+ ParamsRegistry.register(:msearch, [
75
+ :search_type,
76
+ :max_concurrent_searches,
77
+ :max_concurrent_shard_requests,
78
+ :typed_keys,
79
+ :rest_total_hits_as_int ].freeze)
76
80
  end
77
81
  end
78
82
  end