opensearch-ruby 2.0.3 → 3.4.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 (444) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/README.md +80 -46
  4. data/USER_GUIDE.md +149 -0
  5. data/bin/opensearch_ruby_console +4 -34
  6. data/lib/opensearch/api/actions/abort_benchmark.rb +49 -0
  7. data/lib/opensearch/api/actions/benchmark.rb +88 -0
  8. data/lib/opensearch/api/actions/bulk.rb +91 -0
  9. data/lib/opensearch/api/actions/cat/aliases.rb +79 -0
  10. data/lib/opensearch/api/actions/cat/all_pit_segments.rb +45 -0
  11. data/lib/opensearch/api/actions/cat/allocation.rb +83 -0
  12. data/lib/opensearch/api/actions/cat/cluster_manager.rb +54 -0
  13. data/lib/opensearch/api/actions/cat/count.rb +75 -0
  14. data/lib/opensearch/api/actions/cat/fielddata.rb +77 -0
  15. data/lib/opensearch/api/actions/cat/health.rb +72 -0
  16. data/lib/opensearch/api/actions/cat/help.rb +61 -0
  17. data/lib/opensearch/api/actions/cat/indices.rb +93 -0
  18. data/lib/opensearch/api/actions/cat/master.rb +73 -0
  19. data/lib/opensearch/api/actions/cat/nodeattrs.rb +73 -0
  20. data/lib/opensearch/api/actions/cat/nodes.rb +82 -0
  21. data/lib/opensearch/api/actions/cat/params_registry.rb +69 -0
  22. data/lib/opensearch/api/actions/cat/pending_tasks.rb +76 -0
  23. data/lib/opensearch/api/actions/cat/pit_segments.rb +48 -0
  24. data/lib/opensearch/api/actions/cat/plugins.rb +75 -0
  25. data/lib/opensearch/api/actions/cat/recovery.rb +84 -0
  26. data/lib/opensearch/api/actions/cat/repositories.rb +73 -0
  27. data/lib/opensearch/api/actions/cat/segments.rb +76 -0
  28. data/lib/opensearch/api/actions/cat/shards.rb +85 -0
  29. data/lib/opensearch/api/actions/cat/snapshots.rb +82 -0
  30. data/lib/opensearch/api/actions/cat/tasks.rb +77 -0
  31. data/lib/opensearch/api/actions/cat/templates.rb +80 -0
  32. data/lib/opensearch/api/actions/cat/thread_pool.rb +84 -0
  33. data/lib/opensearch/api/actions/clear_scroll.rb +62 -0
  34. data/lib/opensearch/api/actions/cluster/allocation_explain.rb +67 -0
  35. data/lib/opensearch/api/actions/cluster/delete_component_template.rb +68 -0
  36. data/lib/opensearch/api/actions/cluster/delete_voting_config_exclusions.rb +59 -0
  37. data/lib/opensearch/api/actions/cluster/exists_component_template.rb +70 -0
  38. data/lib/opensearch/api/actions/cluster/get_component_template.rb +70 -0
  39. data/lib/opensearch/api/actions/cluster/get_settings.rb +67 -0
  40. data/lib/opensearch/api/actions/cluster/health.rb +88 -0
  41. data/lib/opensearch/api/actions/cluster/params_registry.rb +69 -0
  42. data/lib/opensearch/api/actions/cluster/pending_tasks.rb +64 -0
  43. data/lib/opensearch/api/actions/cluster/post_voting_config_exclusions.rb +63 -0
  44. data/lib/opensearch/api/actions/cluster/put_component_template.rb +72 -0
  45. data/lib/opensearch/api/actions/cluster/put_settings.rb +68 -0
  46. data/{spec/unit/wrapper_gem_spec.rb → lib/opensearch/api/actions/cluster/remote_info.rb} +20 -17
  47. data/lib/opensearch/api/actions/cluster/reroute.rb +72 -0
  48. data/lib/opensearch/api/actions/cluster/state.rb +87 -0
  49. data/lib/opensearch/api/actions/cluster/stats.rb +68 -0
  50. data/lib/opensearch/api/actions/count.rb +96 -0
  51. data/lib/opensearch/api/actions/create.rb +60 -0
  52. data/lib/opensearch/api/actions/create_pit.rb +45 -0
  53. data/lib/opensearch/api/actions/dangling_indices/delete_dangling_index.rb +70 -0
  54. data/lib/opensearch/api/actions/dangling_indices/import_dangling_index.rb +69 -0
  55. data/lib/opensearch/api/actions/dangling_indices/list_dangling_indices.rb +51 -0
  56. data/lib/opensearch/api/actions/dangling_indices/params_registry.rb +69 -0
  57. data/lib/opensearch/api/actions/delete.rb +89 -0
  58. data/lib/opensearch/api/actions/delete_all_pits.rb +26 -0
  59. data/lib/opensearch/api/actions/delete_by_query.rb +133 -0
  60. data/lib/opensearch/api/actions/delete_by_query_rethrottle.rb +62 -0
  61. data/lib/opensearch/api/actions/delete_pit.rb +30 -0
  62. data/lib/opensearch/api/actions/delete_script.rb +66 -0
  63. data/lib/opensearch/api/actions/exists.rb +94 -0
  64. data/lib/opensearch/api/actions/exists_source.rb +89 -0
  65. data/lib/opensearch/api/actions/explain.rb +99 -0
  66. data/lib/opensearch/api/actions/features/get_features.rb +61 -0
  67. data/lib/opensearch/api/actions/features/params_registry.rb +69 -0
  68. data/lib/opensearch/api/actions/features/reset_features.rb +55 -0
  69. data/lib/opensearch/api/actions/field_caps.rb +78 -0
  70. data/lib/opensearch/api/actions/get.rb +93 -0
  71. data/lib/opensearch/api/actions/get_all_pits.rb +26 -0
  72. data/lib/opensearch/api/actions/get_script.rb +64 -0
  73. data/lib/opensearch/api/actions/get_script_context.rb +53 -0
  74. data/lib/opensearch/api/actions/get_script_languages.rb +53 -0
  75. data/lib/opensearch/api/actions/get_source.rb +87 -0
  76. data/lib/opensearch/api/actions/http/connect.rb +28 -0
  77. data/lib/opensearch/api/actions/http/delete.rb +28 -0
  78. data/lib/opensearch/api/actions/http/get.rb +28 -0
  79. data/lib/opensearch/api/actions/http/head.rb +28 -0
  80. data/lib/opensearch/api/actions/http/options.rb +28 -0
  81. data/lib/opensearch/api/actions/http/patch.rb +28 -0
  82. data/lib/opensearch/api/actions/http/post.rb +28 -0
  83. data/lib/opensearch/api/actions/http/put.rb +28 -0
  84. data/lib/opensearch/api/actions/http/request.rb +27 -0
  85. data/lib/opensearch/api/actions/http/trace.rb +28 -0
  86. data/lib/opensearch/api/actions/index.rb +96 -0
  87. data/lib/opensearch/api/actions/indices/add_block.rb +78 -0
  88. data/lib/opensearch/api/actions/indices/analyze.rb +71 -0
  89. data/lib/opensearch/api/actions/indices/clear_cache.rb +79 -0
  90. data/lib/opensearch/api/actions/indices/clone.rb +75 -0
  91. data/lib/opensearch/api/actions/indices/close.rb +76 -0
  92. data/lib/opensearch/api/actions/indices/create.rb +71 -0
  93. data/lib/opensearch/api/actions/indices/delete.rb +78 -0
  94. data/lib/opensearch/api/actions/indices/delete_alias.rb +72 -0
  95. data/lib/opensearch/api/actions/indices/delete_index_template.rb +68 -0
  96. data/lib/opensearch/api/actions/indices/delete_template.rb +72 -0
  97. data/lib/opensearch/api/actions/indices/disk_usage.rb +76 -0
  98. data/lib/opensearch/api/actions/indices/exists.rb +79 -0
  99. data/lib/opensearch/api/actions/indices/exists_alias.rb +82 -0
  100. data/lib/opensearch/api/actions/indices/exists_index_template.rb +72 -0
  101. data/lib/opensearch/api/actions/indices/exists_template.rb +75 -0
  102. data/lib/opensearch/api/actions/indices/field_usage_stats.rb +74 -0
  103. data/lib/opensearch/api/actions/indices/flush.rb +74 -0
  104. data/lib/opensearch/api/actions/indices/forcemerge.rb +76 -0
  105. data/lib/opensearch/api/actions/indices/get.rb +78 -0
  106. data/lib/opensearch/api/actions/indices/get_alias.rb +79 -0
  107. data/lib/opensearch/api/actions/indices/get_field_mapping.rb +83 -0
  108. data/lib/opensearch/api/actions/indices/get_index_template.rb +72 -0
  109. data/lib/opensearch/api/actions/indices/get_mapping.rb +81 -0
  110. data/lib/opensearch/api/actions/indices/get_settings.rb +87 -0
  111. data/lib/opensearch/api/actions/indices/get_template.rb +72 -0
  112. data/lib/opensearch/api/actions/indices/get_upgrade.rb +75 -0
  113. data/lib/opensearch/api/actions/indices/open.rb +76 -0
  114. data/lib/opensearch/api/actions/indices/params_registry.rb +69 -0
  115. data/lib/opensearch/api/actions/indices/put_alias.rb +73 -0
  116. data/lib/opensearch/api/actions/indices/put_index_template.rb +72 -0
  117. data/lib/opensearch/api/actions/indices/put_mapping.rb +82 -0
  118. data/lib/opensearch/api/actions/indices/put_settings.rb +83 -0
  119. data/lib/opensearch/api/actions/indices/put_template.rb +72 -0
  120. data/lib/opensearch/api/actions/indices/recovery.rb +68 -0
  121. data/lib/opensearch/api/actions/indices/refresh.rb +70 -0
  122. data/lib/opensearch/api/actions/indices/resolve_index.rb +68 -0
  123. data/lib/opensearch/api/actions/indices/rollover.rb +81 -0
  124. data/lib/opensearch/api/actions/indices/segments.rb +72 -0
  125. data/lib/opensearch/api/actions/indices/shard_stores.rb +72 -0
  126. data/lib/opensearch/api/actions/indices/shrink.rb +77 -0
  127. data/lib/opensearch/api/actions/indices/simulate_index_template.rb +71 -0
  128. data/lib/opensearch/api/actions/indices/simulate_template.rb +73 -0
  129. data/lib/opensearch/api/actions/indices/split.rb +77 -0
  130. data/lib/opensearch/api/actions/indices/stats.rb +100 -0
  131. data/lib/opensearch/api/actions/indices/update_aliases.rb +66 -0
  132. data/lib/opensearch/api/actions/indices/upgrade.rb +79 -0
  133. data/lib/opensearch/api/actions/indices/validate_query.rb +99 -0
  134. data/{Gemfile → lib/opensearch/api/actions/info.rb} +19 -8
  135. data/lib/opensearch/api/actions/ingest/delete_pipeline.rb +68 -0
  136. data/lib/opensearch/api/actions/ingest/geo_ip_stats.rb +51 -0
  137. data/lib/opensearch/api/actions/ingest/get_pipeline.rb +70 -0
  138. data/lib/opensearch/api/actions/ingest/params_registry.rb +69 -0
  139. data/lib/opensearch/api/actions/ingest/processor_grok.rb +51 -0
  140. data/lib/opensearch/api/actions/ingest/put_pipeline.rb +70 -0
  141. data/lib/opensearch/api/actions/ingest/simulate.rb +69 -0
  142. data/lib/opensearch/api/actions/mget.rb +86 -0
  143. data/lib/opensearch/api/actions/msearch.rb +105 -0
  144. data/lib/opensearch/api/actions/msearch_template.rb +89 -0
  145. data/lib/opensearch/api/actions/mtermvectors.rb +102 -0
  146. data/lib/opensearch/api/actions/nodes/hot_threads.rb +81 -0
  147. data/lib/opensearch/api/actions/nodes/info.rb +75 -0
  148. data/lib/opensearch/api/actions/nodes/params_registry.rb +69 -0
  149. data/lib/opensearch/api/actions/nodes/reload_secure_settings.rb +67 -0
  150. data/lib/opensearch/api/actions/nodes/shutdown.rb +65 -0
  151. data/lib/opensearch/api/actions/nodes/stats.rb +96 -0
  152. data/lib/opensearch/api/actions/nodes/usage.rb +73 -0
  153. data/lib/opensearch/api/actions/params_registry.rb +67 -0
  154. data/lib/opensearch/api/actions/ping.rb +54 -0
  155. data/lib/opensearch/api/actions/put_script.rb +76 -0
  156. data/lib/opensearch/api/actions/rank_eval.rb +77 -0
  157. data/lib/opensearch/api/actions/reindex.rb +76 -0
  158. data/lib/opensearch/api/actions/reindex_rethrottle.rb +62 -0
  159. data/{spec/integration/security_disabled/validation_integration_spec.rb → lib/opensearch/api/actions/remote/info.rb} +17 -11
  160. data/lib/opensearch/api/actions/remote_store/restore.rb +43 -0
  161. data/lib/opensearch/api/actions/render_search_template.rb +62 -0
  162. data/lib/opensearch/api/actions/scripts_painless_execute.rb +59 -0
  163. data/lib/opensearch/api/actions/scroll.rb +78 -0
  164. data/lib/opensearch/api/actions/search.rb +161 -0
  165. data/lib/opensearch/api/actions/search_shards.rb +74 -0
  166. data/lib/opensearch/api/actions/search_template.rb +96 -0
  167. data/lib/opensearch/api/actions/security/change_password.rb +39 -0
  168. data/lib/opensearch/api/actions/security/create_action_group.rb +42 -0
  169. data/lib/opensearch/api/actions/security/create_role.rb +43 -0
  170. data/lib/opensearch/api/actions/security/create_role_mapping.rb +43 -0
  171. data/lib/opensearch/api/actions/security/create_tenant.rb +42 -0
  172. data/lib/opensearch/api/actions/security/create_user.rb +43 -0
  173. data/lib/opensearch/api/actions/security/delete_action_group.rb +41 -0
  174. data/lib/opensearch/api/actions/security/delete_distinguished_names.rb +41 -0
  175. data/lib/opensearch/api/actions/security/delete_role.rb +41 -0
  176. data/lib/opensearch/api/actions/security/delete_role_mapping.rb +41 -0
  177. data/lib/opensearch/api/actions/security/delete_tenant.rb +41 -0
  178. data/lib/opensearch/api/actions/security/delete_user.rb +41 -0
  179. data/lib/opensearch/api/actions/security/flush_cache.rb +36 -0
  180. data/lib/opensearch/api/actions/security/get_account_details.rb +36 -0
  181. data/lib/opensearch/api/actions/security/get_action_group.rb +41 -0
  182. data/lib/opensearch/api/actions/security/get_action_groups.rb +36 -0
  183. data/lib/opensearch/api/actions/security/get_audit_configuration.rb +36 -0
  184. data/lib/opensearch/api/actions/security/get_certificates.rb +36 -0
  185. data/lib/opensearch/api/actions/security/get_configuration.rb +36 -0
  186. data/lib/opensearch/api/actions/security/get_distinguished_names.rb +39 -0
  187. data/lib/opensearch/api/actions/security/get_role.rb +41 -0
  188. data/lib/opensearch/api/actions/security/get_role_mapping.rb +41 -0
  189. data/lib/opensearch/api/actions/security/get_role_mappings.rb +36 -0
  190. data/lib/opensearch/api/actions/security/get_roles.rb +36 -0
  191. data/lib/opensearch/api/actions/security/get_tenant.rb +41 -0
  192. data/lib/opensearch/api/actions/security/get_tenants.rb +36 -0
  193. data/lib/opensearch/api/actions/security/get_user.rb +41 -0
  194. data/lib/opensearch/api/actions/security/get_users.rb +36 -0
  195. data/lib/opensearch/api/actions/security/health.rb +36 -0
  196. data/lib/opensearch/api/actions/security/patch_action_group.rb +42 -0
  197. data/lib/opensearch/api/actions/security/patch_action_groups.rb +37 -0
  198. data/lib/opensearch/api/actions/security/patch_audit_configuration.rb +39 -0
  199. data/lib/opensearch/api/actions/security/patch_configuration.rb +39 -0
  200. data/lib/opensearch/api/actions/security/patch_distinguished_names.rb +39 -0
  201. data/lib/opensearch/api/actions/security/patch_role.rb +43 -0
  202. data/lib/opensearch/api/actions/security/patch_role_mapping.rb +43 -0
  203. data/lib/opensearch/api/actions/security/patch_role_mappings.rb +39 -0
  204. data/lib/opensearch/api/actions/security/patch_roles.rb +39 -0
  205. data/lib/opensearch/api/actions/security/patch_tenant.rb +43 -0
  206. data/lib/opensearch/api/actions/security/patch_tenants.rb +39 -0
  207. data/lib/opensearch/api/actions/security/patch_user.rb +43 -0
  208. data/lib/opensearch/api/actions/security/patch_users.rb +39 -0
  209. data/lib/opensearch/api/actions/security/reload_http_certificates.rb +36 -0
  210. data/lib/opensearch/api/actions/security/reload_transport_certificates.rb +36 -0
  211. data/lib/opensearch/api/actions/security/update_audit_configuration.rb +39 -0
  212. data/lib/opensearch/api/actions/security/update_configuration.rb +39 -0
  213. data/lib/opensearch/api/actions/security/update_distinguished_names.rb +42 -0
  214. data/lib/opensearch/api/actions/shutdown/delete_node.rb +60 -0
  215. data/lib/opensearch/api/actions/shutdown/get_node.rb +62 -0
  216. data/lib/opensearch/api/actions/shutdown/params_registry.rb +69 -0
  217. data/lib/opensearch/api/actions/shutdown/put_node.rb +62 -0
  218. data/lib/opensearch/api/actions/snapshot/cleanup_repository.rb +68 -0
  219. data/lib/opensearch/api/actions/snapshot/clone.rb +76 -0
  220. data/lib/opensearch/api/actions/snapshot/create.rb +73 -0
  221. data/lib/opensearch/api/actions/snapshot/create_repository.rb +72 -0
  222. data/lib/opensearch/api/actions/snapshot/delete.rb +74 -0
  223. data/lib/opensearch/api/actions/snapshot/delete_repository.rb +72 -0
  224. data/lib/opensearch/api/actions/snapshot/get.rb +82 -0
  225. data/lib/opensearch/api/actions/snapshot/get_features.rb +61 -0
  226. data/lib/opensearch/api/actions/snapshot/get_repository.rb +73 -0
  227. data/lib/opensearch/api/actions/snapshot/params_registry.rb +69 -0
  228. data/lib/opensearch/api/actions/snapshot/repository_analyze.rb +84 -0
  229. data/lib/opensearch/api/actions/snapshot/restore.rb +73 -0
  230. data/lib/opensearch/api/actions/snapshot/status.rb +79 -0
  231. data/lib/opensearch/api/actions/snapshot/verify_repository.rb +68 -0
  232. data/lib/opensearch/api/actions/tasks/cancel.rb +76 -0
  233. data/lib/opensearch/api/actions/tasks/get.rb +68 -0
  234. data/lib/opensearch/api/actions/tasks/list.rb +75 -0
  235. data/lib/opensearch/api/actions/tasks/params_registry.rb +69 -0
  236. data/lib/opensearch/api/actions/termvectors.rb +108 -0
  237. data/lib/opensearch/api/actions/update.rb +99 -0
  238. data/lib/opensearch/api/actions/update_by_query.rb +137 -0
  239. data/lib/opensearch/api/actions/update_by_query_rethrottle.rb +62 -0
  240. data/{spec/integration/security_enabled/validation_integration_spec.rb → lib/opensearch/api/namespace/cat.rb} +19 -12
  241. data/lib/opensearch/api/namespace/cluster.rb +47 -0
  242. data/lib/opensearch/api/namespace/common.rb +72 -0
  243. data/lib/opensearch/api/namespace/dangling_indices.rb +47 -0
  244. data/lib/opensearch/api/namespace/features.rb +47 -0
  245. data/lib/opensearch/api/namespace/http.rb +30 -0
  246. data/lib/opensearch/api/namespace/indices.rb +47 -0
  247. data/lib/opensearch/api/namespace/ingest.rb +47 -0
  248. data/lib/opensearch/api/namespace/nodes.rb +47 -0
  249. data/lib/opensearch/api/namespace/remote.rb +47 -0
  250. data/lib/opensearch/api/namespace/remote_store.rb +30 -0
  251. data/lib/opensearch/api/namespace/security.rb +30 -0
  252. data/lib/opensearch/api/namespace/shutdown.rb +47 -0
  253. data/lib/opensearch/api/namespace/snapshot.rb +47 -0
  254. data/lib/opensearch/api/namespace/tasks.rb +47 -0
  255. data/lib/opensearch/api/utils.rb +296 -0
  256. data/lib/opensearch/api.rb +104 -0
  257. data/lib/opensearch/dsl/search/aggregation.rb +112 -0
  258. data/lib/opensearch/dsl/search/aggregations/avg.rb +49 -0
  259. data/lib/opensearch/dsl/search/aggregations/cardinality.rb +56 -0
  260. data/lib/opensearch/dsl/search/aggregations/children.rb +63 -0
  261. data/lib/opensearch/dsl/search/aggregations/composite.rb +68 -0
  262. data/lib/opensearch/dsl/search/aggregations/date_histogram.rb +64 -0
  263. data/lib/opensearch/dsl/search/aggregations/date_range.rb +59 -0
  264. data/lib/opensearch/dsl/search/aggregations/extended_stats.rb +48 -0
  265. data/lib/opensearch/dsl/search/aggregations/filter.rb +54 -0
  266. data/lib/opensearch/dsl/search/aggregations/filters.rb +59 -0
  267. data/lib/opensearch/dsl/search/aggregations/geo_bounds.rb +68 -0
  268. data/lib/opensearch/dsl/search/aggregations/geo_distance.rb +63 -0
  269. data/lib/opensearch/dsl/search/aggregations/geohash_grid.rb +59 -0
  270. data/lib/opensearch/dsl/search/aggregations/global.rb +52 -0
  271. data/{spec/integration/security_disabled/client_integration_spec.rb → lib/opensearch/dsl/search/aggregations/histogram.rb} +29 -29
  272. data/lib/opensearch/dsl/search/aggregations/ip_range.rb +55 -0
  273. data/lib/opensearch/dsl/search/aggregations/max.rb +49 -0
  274. data/lib/opensearch/dsl/search/aggregations/min.rb +49 -0
  275. data/lib/opensearch/dsl/search/aggregations/missing.rb +59 -0
  276. data/lib/opensearch/dsl/search/aggregations/nested.rb +57 -0
  277. data/lib/opensearch/dsl/search/aggregations/percentile_ranks.rb +58 -0
  278. data/lib/opensearch/dsl/search/aggregations/percentiles.rb +57 -0
  279. data/lib/opensearch/dsl/search/aggregations/pipeline/avg_bucket.rb +58 -0
  280. data/lib/opensearch/dsl/search/aggregations/pipeline/bucket_script.rb +60 -0
  281. data/lib/opensearch/dsl/search/aggregations/pipeline/bucket_selector.rb +59 -0
  282. data/lib/opensearch/dsl/search/aggregations/pipeline/bucket_sort.rb +111 -0
  283. data/lib/opensearch/dsl/search/aggregations/pipeline/cumulative_sum.rb +57 -0
  284. data/lib/opensearch/dsl/search/aggregations/pipeline/derivative.rb +58 -0
  285. data/lib/opensearch/dsl/search/aggregations/pipeline/extended_stats_bucket.rb +58 -0
  286. data/lib/opensearch/dsl/search/aggregations/pipeline/max_bucket.rb +58 -0
  287. data/lib/opensearch/dsl/search/aggregations/pipeline/min_bucket.rb +58 -0
  288. data/lib/opensearch/dsl/search/aggregations/pipeline/moving_avg.rb +66 -0
  289. data/lib/opensearch/dsl/search/aggregations/pipeline/percentiles_bucket.rb +60 -0
  290. data/lib/opensearch/dsl/search/aggregations/pipeline/serial_diff.rb +60 -0
  291. data/lib/opensearch/dsl/search/aggregations/pipeline/stats_bucket.rb +58 -0
  292. data/lib/opensearch/dsl/search/aggregations/pipeline/sum_bucket.rb +58 -0
  293. data/lib/opensearch/dsl/search/aggregations/range.rb +77 -0
  294. data/lib/opensearch/dsl/search/aggregations/reverse_nested.rb +61 -0
  295. data/lib/opensearch/dsl/search/aggregations/scripted_metric.rb +63 -0
  296. data/lib/opensearch/dsl/search/aggregations/significant_terms.rb +69 -0
  297. data/lib/opensearch/dsl/search/aggregations/stats.rb +61 -0
  298. data/lib/opensearch/dsl/search/aggregations/sum.rb +49 -0
  299. data/lib/opensearch/dsl/search/aggregations/terms.rb +66 -0
  300. data/lib/opensearch/dsl/search/aggregations/top_hits.rb +59 -0
  301. data/lib/opensearch/dsl/search/aggregations/value_count.rb +49 -0
  302. data/lib/opensearch/dsl/search/base_aggregation_component.rb +83 -0
  303. data/lib/opensearch/dsl/search/base_component.rb +191 -0
  304. data/lib/opensearch/dsl/search/base_compound_filter_component.rb +124 -0
  305. data/lib/opensearch/dsl/search/filter.rb +82 -0
  306. data/lib/opensearch/dsl/search/filters/and.rb +70 -0
  307. data/lib/opensearch/dsl/search/filters/bool.rb +103 -0
  308. data/lib/opensearch/dsl/search/filters/exists.rb +56 -0
  309. data/lib/opensearch/dsl/search/filters/geo_bounding_box.rb +69 -0
  310. data/lib/opensearch/dsl/search/filters/geo_distance.rb +81 -0
  311. data/lib/opensearch/dsl/search/filters/geo_distance_range.rb +56 -0
  312. data/lib/opensearch/dsl/search/filters/geo_polygon.rb +65 -0
  313. data/lib/opensearch/dsl/search/filters/geo_shape.rb +59 -0
  314. data/lib/opensearch/dsl/search/filters/geohash_cell.rb +71 -0
  315. data/lib/opensearch/dsl/search/filters/has_child.rb +98 -0
  316. data/lib/opensearch/dsl/search/filters/has_parent.rb +97 -0
  317. data/lib/opensearch/dsl/search/filters/ids.rb +56 -0
  318. data/lib/opensearch/dsl/search/filters/indices.rb +101 -0
  319. data/lib/opensearch/dsl/search/filters/limit.rb +55 -0
  320. data/lib/opensearch/dsl/search/filters/match_all.rb +52 -0
  321. data/lib/opensearch/dsl/search/filters/missing.rb +58 -0
  322. data/lib/opensearch/dsl/search/filters/nested.rb +91 -0
  323. data/lib/opensearch/dsl/search/filters/not.rb +98 -0
  324. data/lib/opensearch/dsl/search/filters/or.rb +70 -0
  325. data/lib/opensearch/dsl/search/filters/prefix.rb +53 -0
  326. data/lib/opensearch/dsl/search/filters/query.rb +77 -0
  327. data/lib/opensearch/dsl/search/filters/range.rb +63 -0
  328. data/lib/opensearch/dsl/search/filters/regexp.rb +58 -0
  329. data/lib/opensearch/dsl/search/filters/script.rb +56 -0
  330. data/lib/opensearch/dsl/search/filters/term.rb +55 -0
  331. data/lib/opensearch/dsl/search/filters/terms.rb +56 -0
  332. data/lib/opensearch/dsl/search/filters/type.rb +58 -0
  333. data/lib/opensearch/dsl/search/highlight.rb +117 -0
  334. data/lib/opensearch/dsl/search/options.rb +80 -0
  335. data/lib/opensearch/dsl/search/queries/bool.rb +110 -0
  336. data/lib/opensearch/dsl/search/queries/boosting.rb +57 -0
  337. data/lib/opensearch/dsl/search/queries/common.rb +62 -0
  338. data/lib/opensearch/dsl/search/queries/constant_score.rb +90 -0
  339. data/lib/opensearch/dsl/search/queries/dis_max.rb +59 -0
  340. data/lib/opensearch/dsl/search/queries/exists.rb +68 -0
  341. data/lib/opensearch/dsl/search/queries/filtered.rb +101 -0
  342. data/lib/opensearch/dsl/search/queries/function_score.rb +122 -0
  343. data/lib/opensearch/dsl/search/queries/fuzzy.rb +69 -0
  344. data/lib/opensearch/dsl/search/queries/fuzzy_like_this.rb +61 -0
  345. data/lib/opensearch/dsl/search/queries/fuzzy_like_this_field.rb +60 -0
  346. data/lib/opensearch/dsl/search/queries/geo_shape.rb +54 -0
  347. data/lib/opensearch/dsl/search/queries/has_child.rb +82 -0
  348. data/lib/opensearch/dsl/search/queries/has_parent.rb +82 -0
  349. data/lib/opensearch/dsl/search/queries/ids.rb +52 -0
  350. data/lib/opensearch/dsl/search/queries/indices.rb +58 -0
  351. data/lib/opensearch/dsl/search/queries/match.rb +66 -0
  352. data/lib/opensearch/dsl/search/queries/match_all.rb +50 -0
  353. data/lib/opensearch/dsl/search/queries/match_phrase.rb +56 -0
  354. data/lib/opensearch/dsl/search/queries/match_phrase_prefix.rb +55 -0
  355. data/lib/opensearch/dsl/search/queries/more_like_this.rb +88 -0
  356. data/lib/opensearch/dsl/search/queries/multi_match.rb +69 -0
  357. data/lib/opensearch/dsl/search/queries/nested.rb +80 -0
  358. data/lib/opensearch/dsl/search/queries/prefix.rb +54 -0
  359. data/lib/opensearch/dsl/search/queries/query_string.rb +75 -0
  360. data/lib/opensearch/dsl/search/queries/range.rb +71 -0
  361. data/lib/opensearch/dsl/search/queries/regexp.rb +55 -0
  362. data/lib/opensearch/dsl/search/queries/script_score.rb +62 -0
  363. data/lib/opensearch/dsl/search/queries/simple_query_string.rb +64 -0
  364. data/lib/opensearch/dsl/search/queries/span_first.rb +52 -0
  365. data/lib/opensearch/dsl/search/queries/span_multi.rb +52 -0
  366. data/lib/opensearch/dsl/search/queries/span_near.rb +56 -0
  367. data/lib/opensearch/dsl/search/queries/span_not.rb +57 -0
  368. data/lib/opensearch/dsl/search/queries/span_or.rb +52 -0
  369. data/lib/opensearch/dsl/search/queries/span_term.rb +50 -0
  370. data/lib/opensearch/dsl/search/queries/template.rb +55 -0
  371. data/lib/opensearch/dsl/search/queries/term.rb +50 -0
  372. data/lib/opensearch/dsl/search/queries/terms.rb +51 -0
  373. data/lib/opensearch/dsl/search/queries/top_children.rb +82 -0
  374. data/lib/opensearch/dsl/search/queries/wildcard.rb +54 -0
  375. data/lib/opensearch/dsl/search/query.rb +82 -0
  376. data/lib/opensearch/dsl/search/sort.rb +83 -0
  377. data/lib/opensearch/dsl/search/suggest.rb +52 -0
  378. data/lib/opensearch/dsl/search.rb +282 -0
  379. data/lib/opensearch/dsl/utils.rb +49 -0
  380. data/lib/opensearch/dsl.rb +69 -0
  381. data/lib/opensearch/transport/client.rb +362 -0
  382. data/lib/opensearch/transport/redacted.rb +82 -0
  383. data/lib/opensearch/transport/transport/base.rb +451 -0
  384. data/lib/opensearch/transport/transport/connections/collection.rb +134 -0
  385. data/lib/opensearch/transport/transport/connections/connection.rb +168 -0
  386. data/lib/opensearch/transport/transport/connections/selector.rb +100 -0
  387. data/lib/opensearch/transport/transport/errors.rb +97 -0
  388. data/lib/opensearch/transport/transport/http/curb.rb +139 -0
  389. data/lib/opensearch/transport/transport/http/faraday.rb +101 -0
  390. data/lib/opensearch/transport/transport/http/manticore.rb +188 -0
  391. data/lib/opensearch/transport/transport/loggable.rb +92 -0
  392. data/lib/opensearch/transport/transport/response.rb +47 -0
  393. data/lib/opensearch/transport/transport/serializer/multi_json.rb +61 -0
  394. data/lib/opensearch/transport/transport/sniffer.rb +110 -0
  395. data/lib/opensearch/transport.rb +44 -0
  396. data/lib/opensearch/version.rb +1 -1
  397. data/lib/opensearch-dsl.rb +27 -0
  398. data/lib/opensearch.rb +12 -12
  399. data/opensearch-ruby.gemspec +69 -0
  400. data/spec/spec_helper.rb +95 -4
  401. data/test/dsl/integration/search_aggregation_children_test.rb +91 -0
  402. data/test/dsl/integration/search_aggregation_geo_test.rb +112 -0
  403. data/test/dsl/integration/search_aggregation_nested_test.rb +129 -0
  404. data/test/dsl/integration/search_aggregations_test.rb +288 -0
  405. data/test/dsl/integration/search_filters_test.rb +290 -0
  406. data/test/dsl/integration/search_options_test.rb +54 -0
  407. data/test/dsl/integration/search_query_test.rb +98 -0
  408. data/test/dsl/integration/search_size_from_test.rb +71 -0
  409. data/test/dsl/integration/search_sort_test.rb +57 -0
  410. data/test/dsl/integration/search_suggest_test.rb +107 -0
  411. data/test/dsl/integration/search_test.rb +81 -0
  412. data/test/dsl/test_helper.rb +95 -0
  413. data/test/dsl/unit/dsl_test.rb +44 -0
  414. data/test/dsl/unit/search_aggregation_test.rb +96 -0
  415. data/test/dsl/unit/search_base_aggregation_component_test.rb +66 -0
  416. data/test/dsl/unit/search_base_component_test.rb +210 -0
  417. data/test/dsl/unit/search_filter_test.rb +84 -0
  418. data/test/dsl/unit/search_highlight_test.rb +103 -0
  419. data/test/dsl/unit/search_options_test.rb +114 -0
  420. data/test/dsl/unit/search_query_test.rb +88 -0
  421. data/test/dsl/unit/search_size_from_test.rb +68 -0
  422. data/test/dsl/unit/search_sort_test.rb +91 -0
  423. data/test/dsl/unit/search_suggest_test.rb +46 -0
  424. data/test/dsl/unit/search_test.rb +268 -0
  425. data/test/dsl/unit/utils_test.rb +47 -0
  426. data/test/transport/integration/transport_test.rb +117 -0
  427. data/test/transport/profile/client_benchmark_test.rb +141 -0
  428. data/test/transport/test_helper.rb +97 -0
  429. data/test/transport/unit/connection_test.rb +145 -0
  430. data/test/transport/unit/response_test.rb +46 -0
  431. data/test/transport/unit/serializer_test.rb +42 -0
  432. data/test/transport/unit/transport_base_test.rb +673 -0
  433. data/test/transport/unit/transport_curb_test.rb +143 -0
  434. data/test/transport/unit/transport_faraday_test.rb +237 -0
  435. data/test/transport/unit/transport_manticore_test.rb +191 -0
  436. data.tar.gz.sig +0 -0
  437. metadata +502 -191
  438. metadata.gz.sig +0 -0
  439. data/.gitignore +0 -21
  440. data/Rakefile +0 -69
  441. data/opensearch.gemspec +0 -81
  442. data/spec/integration/security_enabled/client_integration_spec.rb +0 -43
  443. data/spec/unit/opensearch_product_validation_spec.rb +0 -198
  444. /data/{LICENSE → LICENSE.txt} +0 -0
@@ -0,0 +1,66 @@
1
+ # SPDX-License-Identifier: Apache-2.0
2
+ #
3
+ # The OpenSearch Contributors require contributions made to
4
+ # this file be licensed under the Apache-2.0 license or a
5
+ # compatible open source license.
6
+ #
7
+ # Modifications Copyright OpenSearch Contributors. See
8
+ # GitHub history for details.
9
+ #
10
+ # Licensed to Elasticsearch B.V. under one or more contributor
11
+ # license agreements. See the NOTICE file distributed with
12
+ # this work for additional information regarding copyright
13
+ # ownership. Elasticsearch B.V. licenses this file to you under
14
+ # the Apache License, Version 2.0 (the "License"); you may
15
+ # not use this file except in compliance with the License.
16
+ # You may obtain a copy of the License at
17
+ #
18
+ # http://www.apache.org/licenses/LICENSE-2.0
19
+ #
20
+ # Unless required by applicable law or agreed to in writing,
21
+ # software distributed under the License is distributed on an
22
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
23
+ # KIND, either express or implied. See the License for the
24
+ # specific language governing permissions and limitations
25
+ # under the License.
26
+
27
+ module OpenSearch
28
+ module DSL
29
+ module Search
30
+ module Aggregations
31
+ # Given an ordered series of data, the Moving Average aggregation will slide a window across the data and emit the average value of that window.
32
+ #
33
+ # @example Passing the options as a Hash
34
+ #
35
+ # aggregation :the_movavg do
36
+ # moving_avg buckets_path: 'the_sum'
37
+ # end
38
+ #
39
+ # @example Passing the options as a block
40
+ #
41
+ # aggregation :the_movavg do
42
+ # moving_avg do
43
+ # buckets_path 'the_sum'
44
+ # model 'holt'
45
+ # window 5
46
+ # gap_policy 'insert_zero'
47
+ # settings({ alpha: 0.5 })
48
+ # end
49
+ # end
50
+ #
51
+ #
52
+ class MovingAvg
53
+ include BaseAggregationComponent
54
+
55
+ option_method :buckets_path
56
+ option_method :model
57
+ option_method :gap_policy
58
+ option_method :window
59
+ option_method :format
60
+ option_method :minimize
61
+ option_method :settings
62
+ end
63
+ end
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,60 @@
1
+ # SPDX-License-Identifier: Apache-2.0
2
+ #
3
+ # The OpenSearch Contributors require contributions made to
4
+ # this file be licensed under the Apache-2.0 license or a
5
+ # compatible open source license.
6
+ #
7
+ # Modifications Copyright OpenSearch Contributors. See
8
+ # GitHub history for details.
9
+ #
10
+ # Licensed to Elasticsearch B.V. under one or more contributor
11
+ # license agreements. See the NOTICE file distributed with
12
+ # this work for additional information regarding copyright
13
+ # ownership. Elasticsearch B.V. licenses this file to you under
14
+ # the Apache License, Version 2.0 (the "License"); you may
15
+ # not use this file except in compliance with the License.
16
+ # You may obtain a copy of the License at
17
+ #
18
+ # http://www.apache.org/licenses/LICENSE-2.0
19
+ #
20
+ # Unless required by applicable law or agreed to in writing,
21
+ # software distributed under the License is distributed on an
22
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
23
+ # KIND, either express or implied. See the License for the
24
+ # specific language governing permissions and limitations
25
+ # under the License.
26
+
27
+ module OpenSearch
28
+ module DSL
29
+ module Search
30
+ module Aggregations
31
+ # A sibling pipeline aggregation which calculates percentiles across all bucket of a specified metric in a sibling aggregation.
32
+ #
33
+ # @example Passing the options as a Hash
34
+ #
35
+ # aggregation :sum_monthly_sales do
36
+ # percentiles_bucket buckets_path: 'sales_per_month>sales'
37
+ # end
38
+ #
39
+ # @example Passing the options as a block
40
+ #
41
+ # aggregation :sum_monthly_sales do
42
+ # percentiles_bucket do
43
+ # buckets_path 'sales_per_month>sales'
44
+ # percents [25.0 50.0 75.0]
45
+ # end
46
+ # end
47
+ #
48
+ #
49
+ class PercentilesBucket
50
+ include BaseAggregationComponent
51
+
52
+ option_method :buckets_path
53
+ option_method :gap_policy
54
+ option_method :format
55
+ option_method :percents
56
+ end
57
+ end
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,60 @@
1
+ # SPDX-License-Identifier: Apache-2.0
2
+ #
3
+ # The OpenSearch Contributors require contributions made to
4
+ # this file be licensed under the Apache-2.0 license or a
5
+ # compatible open source license.
6
+ #
7
+ # Modifications Copyright OpenSearch Contributors. See
8
+ # GitHub history for details.
9
+ #
10
+ # Licensed to Elasticsearch B.V. under one or more contributor
11
+ # license agreements. See the NOTICE file distributed with
12
+ # this work for additional information regarding copyright
13
+ # ownership. Elasticsearch B.V. licenses this file to you under
14
+ # the Apache License, Version 2.0 (the "License"); you may
15
+ # not use this file except in compliance with the License.
16
+ # You may obtain a copy of the License at
17
+ #
18
+ # http://www.apache.org/licenses/LICENSE-2.0
19
+ #
20
+ # Unless required by applicable law or agreed to in writing,
21
+ # software distributed under the License is distributed on an
22
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
23
+ # KIND, either express or implied. See the License for the
24
+ # specific language governing permissions and limitations
25
+ # under the License.
26
+
27
+ module OpenSearch
28
+ module DSL
29
+ module Search
30
+ module Aggregations
31
+ # Serial differencing is a technique where values in a time series are subtracted from itself at different time lags or periods.
32
+ #
33
+ # @example Passing the options as a Hash
34
+ #
35
+ # aggregation :thirtieth_difference do
36
+ # serial_diff buckets_path: 'the_sum'
37
+ # end
38
+ #
39
+ # @example Passing the options as a block
40
+ #
41
+ # aggregation :thirtieth_difference do
42
+ # serial_diff do
43
+ # buckets_path 'the_sum'
44
+ # lag 30
45
+ # end
46
+ # end
47
+ #
48
+ #
49
+ class SerialDiff
50
+ include BaseAggregationComponent
51
+
52
+ option_method :buckets_path
53
+ option_method :lag
54
+ option_method :gap_policy
55
+ option_method :format
56
+ end
57
+ end
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,58 @@
1
+ # SPDX-License-Identifier: Apache-2.0
2
+ #
3
+ # The OpenSearch Contributors require contributions made to
4
+ # this file be licensed under the Apache-2.0 license or a
5
+ # compatible open source license.
6
+ #
7
+ # Modifications Copyright OpenSearch Contributors. See
8
+ # GitHub history for details.
9
+ #
10
+ # Licensed to Elasticsearch B.V. under one or more contributor
11
+ # license agreements. See the NOTICE file distributed with
12
+ # this work for additional information regarding copyright
13
+ # ownership. Elasticsearch B.V. licenses this file to you under
14
+ # the Apache License, Version 2.0 (the "License"); you may
15
+ # not use this file except in compliance with the License.
16
+ # You may obtain a copy of the License at
17
+ #
18
+ # http://www.apache.org/licenses/LICENSE-2.0
19
+ #
20
+ # Unless required by applicable law or agreed to in writing,
21
+ # software distributed under the License is distributed on an
22
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
23
+ # KIND, either express or implied. See the License for the
24
+ # specific language governing permissions and limitations
25
+ # under the License.
26
+
27
+ module OpenSearch
28
+ module DSL
29
+ module Search
30
+ module Aggregations
31
+ # A sibling pipeline aggregation which calculates a variety of stats across all bucket of a specified metric in a sibling aggregation.
32
+ #
33
+ # @example Passing the options as a Hash
34
+ #
35
+ # aggregation :stats_monthly_sales do
36
+ # stats_bucket buckets_path: 'sales_per_month>sales'
37
+ # end
38
+ #
39
+ # @example Passing the options as a block
40
+ #
41
+ # aggregation :stats_monthly_sales do
42
+ # stats_bucket do
43
+ # buckets_path 'sales_per_month>sales'
44
+ # end
45
+ # end
46
+ #
47
+ #
48
+ class StatsBucket
49
+ include BaseAggregationComponent
50
+
51
+ option_method :buckets_path
52
+ option_method :gap_policy
53
+ option_method :format
54
+ end
55
+ end
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,58 @@
1
+ # SPDX-License-Identifier: Apache-2.0
2
+ #
3
+ # The OpenSearch Contributors require contributions made to
4
+ # this file be licensed under the Apache-2.0 license or a
5
+ # compatible open source license.
6
+ #
7
+ # Modifications Copyright OpenSearch Contributors. See
8
+ # GitHub history for details.
9
+ #
10
+ # Licensed to Elasticsearch B.V. under one or more contributor
11
+ # license agreements. See the NOTICE file distributed with
12
+ # this work for additional information regarding copyright
13
+ # ownership. Elasticsearch B.V. licenses this file to you under
14
+ # the Apache License, Version 2.0 (the "License"); you may
15
+ # not use this file except in compliance with the License.
16
+ # You may obtain a copy of the License at
17
+ #
18
+ # http://www.apache.org/licenses/LICENSE-2.0
19
+ #
20
+ # Unless required by applicable law or agreed to in writing,
21
+ # software distributed under the License is distributed on an
22
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
23
+ # KIND, either express or implied. See the License for the
24
+ # specific language governing permissions and limitations
25
+ # under the License.
26
+
27
+ module OpenSearch
28
+ module DSL
29
+ module Search
30
+ module Aggregations
31
+ # A sibling pipeline aggregation which calculates the sum across all bucket of a specified metric in a sibling aggregation.
32
+ #
33
+ # @example Passing the options as a Hash
34
+ #
35
+ # aggregation :sum_monthly_sales do
36
+ # sum_bucket buckets_path: 'sales_per_month>sales'
37
+ # end
38
+ #
39
+ # @example Passing the options as a block
40
+ #
41
+ # aggregation :sum_monthly_sales do
42
+ # sum_bucket do
43
+ # buckets_path 'sales_per_month>sales'
44
+ # end
45
+ # end
46
+ #
47
+ #
48
+ class SumBucket
49
+ include BaseAggregationComponent
50
+
51
+ option_method :buckets_path
52
+ option_method :gap_policy
53
+ option_method :format
54
+ end
55
+ end
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,77 @@
1
+ # SPDX-License-Identifier: Apache-2.0
2
+ #
3
+ # The OpenSearch Contributors require contributions made to
4
+ # this file be licensed under the Apache-2.0 license or a
5
+ # compatible open source license.
6
+ #
7
+ # Modifications Copyright OpenSearch Contributors. See
8
+ # GitHub history for details.
9
+ #
10
+ # Licensed to Elasticsearch B.V. under one or more contributor
11
+ # license agreements. See the NOTICE file distributed with
12
+ # this work for additional information regarding copyright
13
+ # ownership. Elasticsearch B.V. licenses this file to you under
14
+ # the Apache License, Version 2.0 (the "License"); you may
15
+ # not use this file except in compliance with the License.
16
+ # You may obtain a copy of the License at
17
+ #
18
+ # http://www.apache.org/licenses/LICENSE-2.0
19
+ #
20
+ # Unless required by applicable law or agreed to in writing,
21
+ # software distributed under the License is distributed on an
22
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
23
+ # KIND, either express or implied. See the License for the
24
+ # specific language governing permissions and limitations
25
+ # under the License.
26
+
27
+ module OpenSearch
28
+ module DSL
29
+ module Search
30
+ module Aggregations
31
+ # A multi-bucket aggregation which returns document counts for custom numerical ranges,
32
+ # which define the buckets
33
+ #
34
+ # @example
35
+ #
36
+ # search do
37
+ # aggregation :clicks do
38
+ # range field: 'clicks',
39
+ # ranges: [
40
+ # { to: 10 },
41
+ # { from: 10, to: 20 }
42
+ # ]
43
+ # end
44
+ # end
45
+ #
46
+ # @example Using custom names for the ranges
47
+ #
48
+ # search do
49
+ # aggregation :clicks do
50
+ # range do
51
+ # field 'clicks'
52
+ # key :low, to: 10
53
+ # key :mid, from: 10, to: 20
54
+ # end
55
+ # end
56
+ # end
57
+ #
58
+ class Range
59
+ include BaseAggregationComponent
60
+
61
+ option_method :field
62
+ option_method :script
63
+ option_method :params
64
+ option_method :keyed
65
+
66
+ def key(key, value)
67
+ @hash[name].update(@args) if @args
68
+ @hash[name][:keyed] = true unless @hash[name].key?(:keyed)
69
+ @hash[name][:ranges] ||= []
70
+ @hash[name][:ranges] << value.merge(key: key) unless @hash[name][:ranges].any? { |i| i[:key] == key }
71
+ self
72
+ end
73
+ end
74
+ end
75
+ end
76
+ end
77
+ end
@@ -0,0 +1,61 @@
1
+ # SPDX-License-Identifier: Apache-2.0
2
+ #
3
+ # The OpenSearch Contributors require contributions made to
4
+ # this file be licensed under the Apache-2.0 license or a
5
+ # compatible open source license.
6
+ #
7
+ # Modifications Copyright OpenSearch Contributors. See
8
+ # GitHub history for details.
9
+ #
10
+ # Licensed to Elasticsearch B.V. under one or more contributor
11
+ # license agreements. See the NOTICE file distributed with
12
+ # this work for additional information regarding copyright
13
+ # ownership. Elasticsearch B.V. licenses this file to you under
14
+ # the Apache License, Version 2.0 (the "License"); you may
15
+ # not use this file except in compliance with the License.
16
+ # You may obtain a copy of the License at
17
+ #
18
+ # http://www.apache.org/licenses/LICENSE-2.0
19
+ #
20
+ # Unless required by applicable law or agreed to in writing,
21
+ # software distributed under the License is distributed on an
22
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
23
+ # KIND, either express or implied. See the License for the
24
+ # specific language governing permissions and limitations
25
+ # under the License.
26
+
27
+ module OpenSearch
28
+ module DSL
29
+ module Search
30
+ module Aggregations
31
+ # A single-bucket aggregation which allows to aggregate on "parent" documents
32
+ # from the nested documents
33
+ #
34
+ # @example
35
+ #
36
+ # search do
37
+ # aggregation :offers do
38
+ # nested do
39
+ # path 'offers'
40
+ # aggregation :top_categories do
41
+ # reverse_nested do
42
+ # aggregation :top_category_per_offer do
43
+ # terms field: 'category'
44
+ # end
45
+ # end
46
+ # end
47
+ # end
48
+ # end
49
+ # end
50
+ #
51
+ # See the integration test for a full example.
52
+ #
53
+ # @see http://opensearch.org/guide/en/opensearch/guide/current/nested-aggregation.html
54
+ #
55
+ class ReverseNested
56
+ include BaseAggregationComponent
57
+ end
58
+ end
59
+ end
60
+ end
61
+ end
@@ -0,0 +1,63 @@
1
+ # SPDX-License-Identifier: Apache-2.0
2
+ #
3
+ # The OpenSearch Contributors require contributions made to
4
+ # this file be licensed under the Apache-2.0 license or a
5
+ # compatible open source license.
6
+ #
7
+ # Modifications Copyright OpenSearch Contributors. See
8
+ # GitHub history for details.
9
+ #
10
+ # Licensed to Elasticsearch B.V. under one or more contributor
11
+ # license agreements. See the NOTICE file distributed with
12
+ # this work for additional information regarding copyright
13
+ # ownership. Elasticsearch B.V. licenses this file to you under
14
+ # the Apache License, Version 2.0 (the "License"); you may
15
+ # not use this file except in compliance with the License.
16
+ # You may obtain a copy of the License at
17
+ #
18
+ # http://www.apache.org/licenses/LICENSE-2.0
19
+ #
20
+ # Unless required by applicable law or agreed to in writing,
21
+ # software distributed under the License is distributed on an
22
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
23
+ # KIND, either express or implied. See the License for the
24
+ # specific language governing permissions and limitations
25
+ # under the License.
26
+
27
+ module OpenSearch
28
+ module DSL
29
+ module Search
30
+ module Aggregations
31
+ # A metric aggregation which uses scripts for the computation
32
+ #
33
+ # @example
34
+ #
35
+ # search do
36
+ # aggregation :clicks_for_one do
37
+ # scripted_metric do
38
+ # init_script "_agg['transactions'] = []"
39
+ # map_script "if (doc['tags'].value.contains('one')) { _agg.transactions.add(doc['clicks'].value) }"
40
+ # combine_script "sum = 0; for (t in _agg.transactions) { sum += t }; return sum"
41
+ # reduce_script "sum = 0; for (a in _aggs) { sum += a }; return sum"
42
+ # end
43
+ # end
44
+ # end
45
+ #
46
+ # @see http://opensearch.org/guide/en/opensearch/reference/current/search-aggregations-metrics-scripted-metric-aggregation.html
47
+ #
48
+ # See the integration test for a full example.
49
+ #
50
+ class ScriptedMetric
51
+ include BaseComponent
52
+
53
+ option_method :init_script
54
+ option_method :map_script
55
+ option_method :combine_script
56
+ option_method :reduce_script
57
+ option_method :params
58
+ option_method :lang
59
+ end
60
+ end
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,69 @@
1
+ # SPDX-License-Identifier: Apache-2.0
2
+ #
3
+ # The OpenSearch Contributors require contributions made to
4
+ # this file be licensed under the Apache-2.0 license or a
5
+ # compatible open source license.
6
+ #
7
+ # Modifications Copyright OpenSearch Contributors. See
8
+ # GitHub history for details.
9
+ #
10
+ # Licensed to Elasticsearch B.V. under one or more contributor
11
+ # license agreements. See the NOTICE file distributed with
12
+ # this work for additional information regarding copyright
13
+ # ownership. Elasticsearch B.V. licenses this file to you under
14
+ # the Apache License, Version 2.0 (the "License"); you may
15
+ # not use this file except in compliance with the License.
16
+ # You may obtain a copy of the License at
17
+ #
18
+ # http://www.apache.org/licenses/LICENSE-2.0
19
+ #
20
+ # Unless required by applicable law or agreed to in writing,
21
+ # software distributed under the License is distributed on an
22
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
23
+ # KIND, either express or implied. See the License for the
24
+ # specific language governing permissions and limitations
25
+ # under the License.
26
+
27
+ module OpenSearch
28
+ module DSL
29
+ module Search
30
+ module Aggregations
31
+ # A multi-bucket aggregation that returns interesting or unusual occurrences of terms in a set
32
+ #
33
+ # @example
34
+ #
35
+ # search do
36
+ # query do
37
+ # match :title do
38
+ # query 'fink'
39
+ # end
40
+ # end
41
+ #
42
+ # aggregation :interesting_terms do
43
+ # significant_terms do
44
+ # field :body
45
+ # end
46
+ # end
47
+ # end
48
+ #
49
+ # @see http://opensearch.org/guide/en/opensearch/reference/current/search-aggregations-bucket-significantterms-aggregation.html
50
+ #
51
+ class SignificantTerms
52
+ include BaseAggregationComponent
53
+
54
+ option_method :field
55
+ option_method :size
56
+ option_method :shard_size
57
+ option_method :min_doc_count
58
+ option_method :shard_min_doc_count
59
+ option_method :include
60
+ option_method :exclude
61
+ option_method :background_filter
62
+ option_method :mutual_information
63
+ option_method :chi_square
64
+ option_method :gnd
65
+ end
66
+ end
67
+ end
68
+ end
69
+ end
@@ -0,0 +1,61 @@
1
+ # SPDX-License-Identifier: Apache-2.0
2
+ #
3
+ # The OpenSearch Contributors require contributions made to
4
+ # this file be licensed under the Apache-2.0 license or a
5
+ # compatible open source license.
6
+ #
7
+ # Modifications Copyright OpenSearch Contributors. See
8
+ # GitHub history for details.
9
+ #
10
+ # Licensed to Elasticsearch B.V. under one or more contributor
11
+ # license agreements. See the NOTICE file distributed with
12
+ # this work for additional information regarding copyright
13
+ # ownership. Elasticsearch B.V. licenses this file to you under
14
+ # the Apache License, Version 2.0 (the "License"); you may
15
+ # not use this file except in compliance with the License.
16
+ # You may obtain a copy of the License at
17
+ #
18
+ # http://www.apache.org/licenses/LICENSE-2.0
19
+ #
20
+ # Unless required by applicable law or agreed to in writing,
21
+ # software distributed under the License is distributed on an
22
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
23
+ # KIND, either express or implied. See the License for the
24
+ # specific language governing permissions and limitations
25
+ # under the License.
26
+
27
+ module OpenSearch
28
+ module DSL
29
+ module Search
30
+ module Aggregations
31
+ # A multi-value metrics aggregation which returns statistical information on numeric values
32
+ #
33
+ # @example Passing the options as a Hash
34
+ #
35
+ # search do
36
+ # aggregation :clicks_stats do
37
+ # stats field: 'clicks'
38
+ # end
39
+ # end
40
+ #
41
+ # @example Passing the options as a block
42
+ #
43
+ # search do
44
+ # aggregation :clicks_stats do
45
+ # stats do
46
+ # field 'clicks'
47
+ # end
48
+ # end
49
+ # end
50
+ #
51
+ #
52
+ class Stats
53
+ include BaseComponent
54
+
55
+ option_method :field
56
+ option_method :script
57
+ end
58
+ end
59
+ end
60
+ end
61
+ end
@@ -0,0 +1,49 @@
1
+ # SPDX-License-Identifier: Apache-2.0
2
+ #
3
+ # The OpenSearch Contributors require contributions made to
4
+ # this file be licensed under the Apache-2.0 license or a
5
+ # compatible open source license.
6
+ #
7
+ # Modifications Copyright OpenSearch Contributors. See
8
+ # GitHub history for details.
9
+ #
10
+ # Licensed to Elasticsearch B.V. under one or more contributor
11
+ # license agreements. See the NOTICE file distributed with
12
+ # this work for additional information regarding copyright
13
+ # ownership. Elasticsearch B.V. licenses this file to you under
14
+ # the Apache License, Version 2.0 (the "License"); you may
15
+ # not use this file except in compliance with the License.
16
+ # You may obtain a copy of the License at
17
+ #
18
+ # http://www.apache.org/licenses/LICENSE-2.0
19
+ #
20
+ # Unless required by applicable law or agreed to in writing,
21
+ # software distributed under the License is distributed on an
22
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
23
+ # KIND, either express or implied. See the License for the
24
+ # specific language governing permissions and limitations
25
+ # under the License.
26
+
27
+ module OpenSearch
28
+ module DSL
29
+ module Search
30
+ module Aggregations
31
+ # A single-value metric aggregation which returns the sum of numeric values
32
+ #
33
+ # @example
34
+ #
35
+ # search do
36
+ # aggregation :sum_clicks do
37
+ # sum field: 'clicks'
38
+ # end
39
+ # end
40
+ #
41
+ # @see http://opensearch.org/guide/en/opensearch/reference/current/search-aggregations-metrics-sum-aggregation.html
42
+ #
43
+ class Sum
44
+ include BaseComponent
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end