opensearch-ruby 1.0.0 → 3.1.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 (442) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/README.md +80 -44
  4. data/USER_GUIDE.md +147 -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_by_rethrottle.rb +55 -0
  62. data/lib/opensearch/api/actions/delete_pit.rb +30 -0
  63. data/lib/opensearch/api/actions/delete_script.rb +66 -0
  64. data/lib/opensearch/api/actions/exists.rb +94 -0
  65. data/lib/opensearch/api/actions/exists_source.rb +89 -0
  66. data/lib/opensearch/api/actions/explain.rb +99 -0
  67. data/lib/opensearch/api/actions/features/get_features.rb +61 -0
  68. data/lib/opensearch/api/actions/features/params_registry.rb +69 -0
  69. data/{Rakefile → lib/opensearch/api/actions/features/reset_features.rb} +27 -35
  70. data/lib/opensearch/api/actions/field_caps.rb +78 -0
  71. data/lib/opensearch/api/actions/get.rb +93 -0
  72. data/lib/opensearch/api/actions/get_all_pits.rb +26 -0
  73. data/lib/opensearch/api/actions/get_script.rb +64 -0
  74. data/lib/opensearch/api/actions/get_script_context.rb +53 -0
  75. data/lib/opensearch/api/actions/get_script_languages.rb +53 -0
  76. data/lib/opensearch/api/actions/get_source.rb +87 -0
  77. data/lib/opensearch/api/actions/http/connect.rb +28 -0
  78. data/lib/opensearch/api/actions/http/delete.rb +28 -0
  79. data/lib/opensearch/api/actions/http/get.rb +28 -0
  80. data/lib/opensearch/api/actions/http/head.rb +28 -0
  81. data/lib/opensearch/api/actions/http/options.rb +28 -0
  82. data/lib/opensearch/api/actions/http/patch.rb +28 -0
  83. data/lib/opensearch/api/actions/http/post.rb +28 -0
  84. data/lib/opensearch/api/actions/http/put.rb +28 -0
  85. data/lib/opensearch/api/actions/http/request.rb +27 -0
  86. data/lib/opensearch/api/actions/http/trace.rb +28 -0
  87. data/lib/opensearch/api/actions/index.rb +96 -0
  88. data/lib/opensearch/api/actions/indices/add_block.rb +78 -0
  89. data/lib/opensearch/api/actions/indices/analyze.rb +71 -0
  90. data/lib/opensearch/api/actions/indices/clear_cache.rb +79 -0
  91. data/lib/opensearch/api/actions/indices/clone.rb +75 -0
  92. data/lib/opensearch/api/actions/indices/close.rb +76 -0
  93. data/lib/opensearch/api/actions/indices/create.rb +71 -0
  94. data/lib/opensearch/api/actions/indices/delete.rb +78 -0
  95. data/lib/opensearch/api/actions/indices/delete_alias.rb +72 -0
  96. data/lib/opensearch/api/actions/indices/delete_index_template.rb +68 -0
  97. data/lib/opensearch/api/actions/indices/delete_template.rb +72 -0
  98. data/lib/opensearch/api/actions/indices/disk_usage.rb +76 -0
  99. data/lib/opensearch/api/actions/indices/exists.rb +79 -0
  100. data/lib/opensearch/api/actions/indices/exists_alias.rb +82 -0
  101. data/lib/opensearch/api/actions/indices/exists_index_template.rb +72 -0
  102. data/lib/opensearch/api/actions/indices/exists_template.rb +75 -0
  103. data/lib/opensearch/api/actions/indices/field_usage_stats.rb +74 -0
  104. data/lib/opensearch/api/actions/indices/flush.rb +74 -0
  105. data/lib/opensearch/api/actions/indices/forcemerge.rb +76 -0
  106. data/lib/opensearch/api/actions/indices/get.rb +78 -0
  107. data/lib/opensearch/api/actions/indices/get_alias.rb +79 -0
  108. data/lib/opensearch/api/actions/indices/get_field_mapping.rb +83 -0
  109. data/lib/opensearch/api/actions/indices/get_index_template.rb +72 -0
  110. data/lib/opensearch/api/actions/indices/get_mapping.rb +81 -0
  111. data/lib/opensearch/api/actions/indices/get_settings.rb +87 -0
  112. data/lib/opensearch/api/actions/indices/get_template.rb +72 -0
  113. data/lib/opensearch/api/actions/indices/get_upgrade.rb +75 -0
  114. data/lib/opensearch/api/actions/indices/open.rb +76 -0
  115. data/lib/opensearch/api/actions/indices/params_registry.rb +69 -0
  116. data/lib/opensearch/api/actions/indices/put_alias.rb +73 -0
  117. data/lib/opensearch/api/actions/indices/put_index_template.rb +72 -0
  118. data/lib/opensearch/api/actions/indices/put_mapping.rb +82 -0
  119. data/lib/opensearch/api/actions/indices/put_settings.rb +83 -0
  120. data/lib/opensearch/api/actions/indices/put_template.rb +72 -0
  121. data/lib/opensearch/api/actions/indices/recovery.rb +68 -0
  122. data/lib/opensearch/api/actions/indices/refresh.rb +70 -0
  123. data/lib/opensearch/api/actions/indices/resolve_index.rb +68 -0
  124. data/lib/opensearch/api/actions/indices/rollover.rb +81 -0
  125. data/lib/opensearch/api/actions/indices/segments.rb +72 -0
  126. data/lib/opensearch/api/actions/indices/shard_stores.rb +72 -0
  127. data/lib/opensearch/api/actions/indices/shrink.rb +77 -0
  128. data/lib/opensearch/api/actions/indices/simulate_index_template.rb +71 -0
  129. data/lib/opensearch/api/actions/indices/simulate_template.rb +73 -0
  130. data/lib/opensearch/api/actions/indices/split.rb +77 -0
  131. data/lib/opensearch/api/actions/indices/stats.rb +100 -0
  132. data/lib/opensearch/api/actions/indices/update_aliases.rb +66 -0
  133. data/lib/opensearch/api/actions/indices/upgrade.rb +79 -0
  134. data/lib/opensearch/api/actions/indices/validate_query.rb +99 -0
  135. data/{Gemfile → lib/opensearch/api/actions/info.rb} +19 -8
  136. data/lib/opensearch/api/actions/ingest/delete_pipeline.rb +68 -0
  137. data/lib/opensearch/api/actions/ingest/geo_ip_stats.rb +51 -0
  138. data/lib/opensearch/api/actions/ingest/get_pipeline.rb +70 -0
  139. data/lib/opensearch/api/actions/ingest/params_registry.rb +69 -0
  140. data/lib/opensearch/api/actions/ingest/processor_grok.rb +51 -0
  141. data/lib/opensearch/api/actions/ingest/put_pipeline.rb +70 -0
  142. data/lib/opensearch/api/actions/ingest/simulate.rb +69 -0
  143. data/lib/opensearch/api/actions/mget.rb +86 -0
  144. data/lib/opensearch/api/actions/msearch.rb +105 -0
  145. data/lib/opensearch/api/actions/msearch_template.rb +89 -0
  146. data/lib/opensearch/api/actions/mtermvectors.rb +102 -0
  147. data/lib/opensearch/api/actions/nodes/hot_threads.rb +81 -0
  148. data/lib/opensearch/api/actions/nodes/info.rb +75 -0
  149. data/lib/opensearch/api/actions/nodes/params_registry.rb +69 -0
  150. data/lib/opensearch/api/actions/nodes/reload_secure_settings.rb +67 -0
  151. data/lib/opensearch/api/actions/nodes/shutdown.rb +65 -0
  152. data/lib/opensearch/api/actions/nodes/stats.rb +96 -0
  153. data/lib/opensearch/api/actions/nodes/usage.rb +73 -0
  154. data/lib/opensearch/api/actions/params_registry.rb +67 -0
  155. data/lib/opensearch/api/actions/ping.rb +54 -0
  156. data/lib/opensearch/api/actions/put_script.rb +76 -0
  157. data/lib/opensearch/api/actions/rank_eval.rb +77 -0
  158. data/lib/opensearch/api/actions/reindex.rb +76 -0
  159. data/lib/opensearch/api/actions/reindex_rethrottle.rb +62 -0
  160. data/{spec/integration/validation_integration_spec.rb → lib/opensearch/api/actions/remote/info.rb} +17 -11
  161. data/lib/opensearch/api/actions/remote_store/restore.rb +43 -0
  162. data/lib/opensearch/api/actions/render_search_template.rb +62 -0
  163. data/lib/opensearch/api/actions/scripts_painless_execute.rb +59 -0
  164. data/lib/opensearch/api/actions/scroll.rb +78 -0
  165. data/lib/opensearch/api/actions/search.rb +159 -0
  166. data/lib/opensearch/api/actions/search_shards.rb +74 -0
  167. data/lib/opensearch/api/actions/search_template.rb +96 -0
  168. data/lib/opensearch/api/actions/security/change_password.rb +39 -0
  169. data/lib/opensearch/api/actions/security/create_action_group.rb +42 -0
  170. data/lib/opensearch/api/actions/security/create_role.rb +43 -0
  171. data/lib/opensearch/api/actions/security/create_role_mapping.rb +43 -0
  172. data/lib/opensearch/api/actions/security/create_tenant.rb +42 -0
  173. data/lib/opensearch/api/actions/security/create_user.rb +43 -0
  174. data/lib/opensearch/api/actions/security/delete_action_group.rb +41 -0
  175. data/lib/opensearch/api/actions/security/delete_distinguished_names.rb +41 -0
  176. data/lib/opensearch/api/actions/security/delete_role.rb +41 -0
  177. data/lib/opensearch/api/actions/security/delete_role_mapping.rb +41 -0
  178. data/lib/opensearch/api/actions/security/delete_tenant.rb +41 -0
  179. data/lib/opensearch/api/actions/security/delete_user.rb +41 -0
  180. data/lib/opensearch/api/actions/security/flush_cache.rb +36 -0
  181. data/lib/opensearch/api/actions/security/get_account_details.rb +36 -0
  182. data/lib/opensearch/api/actions/security/get_action_group.rb +41 -0
  183. data/lib/opensearch/api/actions/security/get_action_groups.rb +36 -0
  184. data/lib/opensearch/api/actions/security/get_audit_configuration.rb +36 -0
  185. data/lib/opensearch/api/actions/security/get_certificates.rb +36 -0
  186. data/lib/opensearch/api/actions/security/get_configuration.rb +36 -0
  187. data/lib/opensearch/api/actions/security/get_distinguished_names.rb +39 -0
  188. data/lib/opensearch/api/actions/security/get_role.rb +41 -0
  189. data/lib/opensearch/api/actions/security/get_role_mapping.rb +41 -0
  190. data/lib/opensearch/api/actions/security/get_role_mappings.rb +36 -0
  191. data/lib/opensearch/api/actions/security/get_roles.rb +36 -0
  192. data/lib/opensearch/api/actions/security/get_tenant.rb +41 -0
  193. data/lib/opensearch/api/actions/security/get_tenants.rb +36 -0
  194. data/lib/opensearch/api/actions/security/get_user.rb +41 -0
  195. data/lib/opensearch/api/actions/security/get_users.rb +36 -0
  196. data/lib/opensearch/api/actions/security/health.rb +36 -0
  197. data/lib/opensearch/api/actions/security/patch_action_group.rb +42 -0
  198. data/lib/opensearch/api/actions/security/patch_action_groups.rb +37 -0
  199. data/lib/opensearch/api/actions/security/patch_audit_configuration.rb +39 -0
  200. data/lib/opensearch/api/actions/security/patch_configuration.rb +39 -0
  201. data/lib/opensearch/api/actions/security/patch_distinguished_names.rb +39 -0
  202. data/lib/opensearch/api/actions/security/patch_role.rb +43 -0
  203. data/lib/opensearch/api/actions/security/patch_role_mapping.rb +43 -0
  204. data/lib/opensearch/api/actions/security/patch_role_mappings.rb +39 -0
  205. data/lib/opensearch/api/actions/security/patch_roles.rb +39 -0
  206. data/lib/opensearch/api/actions/security/patch_tenant.rb +43 -0
  207. data/lib/opensearch/api/actions/security/patch_tenants.rb +39 -0
  208. data/lib/opensearch/api/actions/security/patch_user.rb +43 -0
  209. data/lib/opensearch/api/actions/security/patch_users.rb +39 -0
  210. data/lib/opensearch/api/actions/security/reload_http_certificates.rb +36 -0
  211. data/lib/opensearch/api/actions/security/reload_transport_certificates.rb +36 -0
  212. data/lib/opensearch/api/actions/security/update_audit_configuration.rb +39 -0
  213. data/lib/opensearch/api/actions/security/update_configuration.rb +39 -0
  214. data/lib/opensearch/api/actions/security/update_distinguished_names.rb +42 -0
  215. data/lib/opensearch/api/actions/shutdown/delete_node.rb +60 -0
  216. data/lib/opensearch/api/actions/shutdown/get_node.rb +62 -0
  217. data/lib/opensearch/api/actions/shutdown/params_registry.rb +69 -0
  218. data/lib/opensearch/api/actions/shutdown/put_node.rb +62 -0
  219. data/lib/opensearch/api/actions/snapshot/cleanup_repository.rb +68 -0
  220. data/lib/opensearch/api/actions/snapshot/clone.rb +76 -0
  221. data/lib/opensearch/api/actions/snapshot/create.rb +73 -0
  222. data/lib/opensearch/api/actions/snapshot/create_repository.rb +72 -0
  223. data/lib/opensearch/api/actions/snapshot/delete.rb +74 -0
  224. data/lib/opensearch/api/actions/snapshot/delete_repository.rb +72 -0
  225. data/lib/opensearch/api/actions/snapshot/get.rb +82 -0
  226. data/lib/opensearch/api/actions/snapshot/get_features.rb +61 -0
  227. data/lib/opensearch/api/actions/snapshot/get_repository.rb +73 -0
  228. data/lib/opensearch/api/actions/snapshot/params_registry.rb +69 -0
  229. data/lib/opensearch/api/actions/snapshot/repository_analyze.rb +84 -0
  230. data/lib/opensearch/api/actions/snapshot/restore.rb +73 -0
  231. data/lib/opensearch/api/actions/snapshot/status.rb +79 -0
  232. data/lib/opensearch/api/actions/snapshot/verify_repository.rb +68 -0
  233. data/lib/opensearch/api/actions/tasks/cancel.rb +76 -0
  234. data/lib/opensearch/api/actions/tasks/get.rb +68 -0
  235. data/lib/opensearch/api/actions/tasks/list.rb +75 -0
  236. data/lib/opensearch/api/actions/tasks/params_registry.rb +69 -0
  237. data/lib/opensearch/api/actions/termvectors.rb +108 -0
  238. data/lib/opensearch/api/actions/update.rb +99 -0
  239. data/lib/opensearch/api/actions/update_by_query.rb +137 -0
  240. data/lib/opensearch/api/actions/update_by_query_rethrottle.rb +62 -0
  241. data/lib/opensearch/api/namespace/cat.rb +47 -0
  242. data/lib/opensearch/api/namespace/cluster.rb +47 -0
  243. data/lib/opensearch/api/namespace/common.rb +72 -0
  244. data/lib/opensearch/api/namespace/dangling_indices.rb +47 -0
  245. data/lib/opensearch/api/namespace/features.rb +47 -0
  246. data/lib/opensearch/api/namespace/http.rb +30 -0
  247. data/lib/opensearch/api/namespace/indices.rb +47 -0
  248. data/lib/opensearch/api/namespace/ingest.rb +47 -0
  249. data/lib/opensearch/api/namespace/nodes.rb +47 -0
  250. data/lib/opensearch/api/namespace/remote.rb +47 -0
  251. data/lib/opensearch/api/namespace/remote_store.rb +30 -0
  252. data/lib/opensearch/api/namespace/security.rb +30 -0
  253. data/lib/opensearch/api/namespace/shutdown.rb +47 -0
  254. data/lib/opensearch/api/namespace/snapshot.rb +47 -0
  255. data/lib/opensearch/api/namespace/tasks.rb +47 -0
  256. data/lib/opensearch/api/utils.rb +296 -0
  257. data/lib/opensearch/api.rb +104 -0
  258. data/lib/opensearch/dsl/search/aggregation.rb +112 -0
  259. data/lib/opensearch/dsl/search/aggregations/avg.rb +49 -0
  260. data/lib/opensearch/dsl/search/aggregations/cardinality.rb +56 -0
  261. data/lib/opensearch/dsl/search/aggregations/children.rb +63 -0
  262. data/lib/opensearch/dsl/search/aggregations/composite.rb +68 -0
  263. data/lib/opensearch/dsl/search/aggregations/date_histogram.rb +64 -0
  264. data/lib/opensearch/dsl/search/aggregations/date_range.rb +59 -0
  265. data/lib/opensearch/dsl/search/aggregations/extended_stats.rb +48 -0
  266. data/lib/opensearch/dsl/search/aggregations/filter.rb +54 -0
  267. data/lib/opensearch/dsl/search/aggregations/filters.rb +59 -0
  268. data/lib/opensearch/dsl/search/aggregations/geo_bounds.rb +68 -0
  269. data/lib/opensearch/dsl/search/aggregations/geo_distance.rb +63 -0
  270. data/lib/opensearch/dsl/search/aggregations/geohash_grid.rb +59 -0
  271. data/lib/opensearch/dsl/search/aggregations/global.rb +52 -0
  272. data/lib/opensearch/dsl/search/aggregations/histogram.rb +59 -0
  273. data/lib/opensearch/dsl/search/aggregations/ip_range.rb +55 -0
  274. data/lib/opensearch/dsl/search/aggregations/max.rb +49 -0
  275. data/lib/opensearch/dsl/search/aggregations/min.rb +49 -0
  276. data/lib/opensearch/dsl/search/aggregations/missing.rb +59 -0
  277. data/lib/opensearch/dsl/search/aggregations/nested.rb +57 -0
  278. data/lib/opensearch/dsl/search/aggregations/percentile_ranks.rb +58 -0
  279. data/lib/opensearch/dsl/search/aggregations/percentiles.rb +57 -0
  280. data/lib/opensearch/dsl/search/aggregations/pipeline/avg_bucket.rb +58 -0
  281. data/lib/opensearch/dsl/search/aggregations/pipeline/bucket_script.rb +60 -0
  282. data/lib/opensearch/dsl/search/aggregations/pipeline/bucket_selector.rb +59 -0
  283. data/lib/opensearch/dsl/search/aggregations/pipeline/bucket_sort.rb +111 -0
  284. data/lib/opensearch/dsl/search/aggregations/pipeline/cumulative_sum.rb +57 -0
  285. data/lib/opensearch/dsl/search/aggregations/pipeline/derivative.rb +58 -0
  286. data/lib/opensearch/dsl/search/aggregations/pipeline/extended_stats_bucket.rb +58 -0
  287. data/lib/opensearch/dsl/search/aggregations/pipeline/max_bucket.rb +58 -0
  288. data/lib/opensearch/dsl/search/aggregations/pipeline/min_bucket.rb +58 -0
  289. data/lib/opensearch/dsl/search/aggregations/pipeline/moving_avg.rb +66 -0
  290. data/lib/opensearch/dsl/search/aggregations/pipeline/percentiles_bucket.rb +60 -0
  291. data/lib/opensearch/dsl/search/aggregations/pipeline/serial_diff.rb +60 -0
  292. data/lib/opensearch/dsl/search/aggregations/pipeline/stats_bucket.rb +58 -0
  293. data/lib/opensearch/dsl/search/aggregations/pipeline/sum_bucket.rb +58 -0
  294. data/lib/opensearch/dsl/search/aggregations/range.rb +77 -0
  295. data/lib/opensearch/dsl/search/aggregations/reverse_nested.rb +61 -0
  296. data/lib/opensearch/dsl/search/aggregations/scripted_metric.rb +63 -0
  297. data/lib/opensearch/dsl/search/aggregations/significant_terms.rb +69 -0
  298. data/lib/opensearch/dsl/search/aggregations/stats.rb +61 -0
  299. data/lib/opensearch/dsl/search/aggregations/sum.rb +49 -0
  300. data/lib/opensearch/dsl/search/aggregations/terms.rb +66 -0
  301. data/lib/opensearch/dsl/search/aggregations/top_hits.rb +59 -0
  302. data/lib/opensearch/dsl/search/aggregations/value_count.rb +49 -0
  303. data/lib/opensearch/dsl/search/base_aggregation_component.rb +83 -0
  304. data/lib/opensearch/dsl/search/base_component.rb +191 -0
  305. data/lib/opensearch/dsl/search/base_compound_filter_component.rb +124 -0
  306. data/lib/opensearch/dsl/search/filter.rb +82 -0
  307. data/lib/opensearch/dsl/search/filters/and.rb +70 -0
  308. data/lib/opensearch/dsl/search/filters/bool.rb +103 -0
  309. data/lib/opensearch/dsl/search/filters/exists.rb +56 -0
  310. data/lib/opensearch/dsl/search/filters/geo_bounding_box.rb +69 -0
  311. data/lib/opensearch/dsl/search/filters/geo_distance.rb +81 -0
  312. data/lib/opensearch/dsl/search/filters/geo_distance_range.rb +56 -0
  313. data/lib/opensearch/dsl/search/filters/geo_polygon.rb +65 -0
  314. data/lib/opensearch/dsl/search/filters/geo_shape.rb +59 -0
  315. data/lib/opensearch/dsl/search/filters/geohash_cell.rb +71 -0
  316. data/lib/opensearch/dsl/search/filters/has_child.rb +98 -0
  317. data/lib/opensearch/dsl/search/filters/has_parent.rb +97 -0
  318. data/lib/opensearch/dsl/search/filters/ids.rb +56 -0
  319. data/lib/opensearch/dsl/search/filters/indices.rb +101 -0
  320. data/lib/opensearch/dsl/search/filters/limit.rb +55 -0
  321. data/lib/opensearch/dsl/search/filters/match_all.rb +52 -0
  322. data/lib/opensearch/dsl/search/filters/missing.rb +58 -0
  323. data/lib/opensearch/dsl/search/filters/nested.rb +91 -0
  324. data/lib/opensearch/dsl/search/filters/not.rb +98 -0
  325. data/lib/opensearch/dsl/search/filters/or.rb +70 -0
  326. data/lib/opensearch/dsl/search/filters/prefix.rb +53 -0
  327. data/lib/opensearch/dsl/search/filters/query.rb +77 -0
  328. data/lib/opensearch/dsl/search/filters/range.rb +63 -0
  329. data/lib/opensearch/dsl/search/filters/regexp.rb +58 -0
  330. data/lib/opensearch/dsl/search/filters/script.rb +56 -0
  331. data/lib/opensearch/dsl/search/filters/term.rb +55 -0
  332. data/lib/opensearch/dsl/search/filters/terms.rb +56 -0
  333. data/lib/opensearch/dsl/search/filters/type.rb +58 -0
  334. data/lib/opensearch/dsl/search/highlight.rb +117 -0
  335. data/lib/opensearch/dsl/search/options.rb +80 -0
  336. data/lib/opensearch/dsl/search/queries/bool.rb +110 -0
  337. data/lib/opensearch/dsl/search/queries/boosting.rb +57 -0
  338. data/lib/opensearch/dsl/search/queries/common.rb +62 -0
  339. data/lib/opensearch/dsl/search/queries/constant_score.rb +90 -0
  340. data/lib/opensearch/dsl/search/queries/dis_max.rb +59 -0
  341. data/lib/opensearch/dsl/search/queries/exists.rb +68 -0
  342. data/lib/opensearch/dsl/search/queries/filtered.rb +101 -0
  343. data/lib/opensearch/dsl/search/queries/function_score.rb +122 -0
  344. data/lib/opensearch/dsl/search/queries/fuzzy.rb +69 -0
  345. data/lib/opensearch/dsl/search/queries/fuzzy_like_this.rb +61 -0
  346. data/lib/opensearch/dsl/search/queries/fuzzy_like_this_field.rb +60 -0
  347. data/lib/opensearch/dsl/search/queries/geo_shape.rb +54 -0
  348. data/lib/opensearch/dsl/search/queries/has_child.rb +82 -0
  349. data/lib/opensearch/dsl/search/queries/has_parent.rb +82 -0
  350. data/lib/opensearch/dsl/search/queries/ids.rb +52 -0
  351. data/lib/opensearch/dsl/search/queries/indices.rb +58 -0
  352. data/lib/opensearch/dsl/search/queries/match.rb +67 -0
  353. data/lib/opensearch/dsl/search/queries/match_all.rb +50 -0
  354. data/lib/opensearch/dsl/search/queries/match_phrase.rb +56 -0
  355. data/lib/opensearch/dsl/search/queries/match_phrase_prefix.rb +55 -0
  356. data/lib/opensearch/dsl/search/queries/more_like_this.rb +88 -0
  357. data/lib/opensearch/dsl/search/queries/multi_match.rb +69 -0
  358. data/lib/opensearch/dsl/search/queries/nested.rb +80 -0
  359. data/lib/opensearch/dsl/search/queries/prefix.rb +54 -0
  360. data/lib/opensearch/dsl/search/queries/query_string.rb +75 -0
  361. data/lib/opensearch/dsl/search/queries/range.rb +71 -0
  362. data/lib/opensearch/dsl/search/queries/regexp.rb +55 -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 +453 -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 +13 -13
  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/{spec/integration/client_integration_spec.rb → test/transport/unit/serializer_test.rb} +10 -27
  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 -187
  438. metadata.gz.sig +0 -0
  439. data/.gitignore +0 -21
  440. data/opensearch.gemspec +0 -81
  441. data/spec/unit/opensearch_product_validation_spec.rb +0 -198
  442. /data/{LICENSE → LICENSE.txt} +0 -0
@@ -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 Queries
31
+ # A query which uses a Levenshtein distance on string fields and plus-minus margin on numerical
32
+ # fields to match documents
33
+ #
34
+ # @example
35
+ #
36
+ # search do
37
+ # query do
38
+ # fuzzy :name do
39
+ # value 'Eyjafjallajökull'
40
+ # end
41
+ # end
42
+ # end
43
+ #
44
+ # @example
45
+ #
46
+ # search do
47
+ # query do
48
+ # fuzzy :published_on do
49
+ # value '2014-01-01'
50
+ # fuzziness '7d'
51
+ # end
52
+ # end
53
+ # end
54
+ #
55
+ # @see http://opensearch.org/guide/en/opensearch/reference/current/query-dsl-fuzzy-query.html
56
+ #
57
+ class Fuzzy
58
+ include BaseComponent
59
+
60
+ option_method :value
61
+ option_method :boost
62
+ option_method :fuzziness
63
+ option_method :prefix_length
64
+ option_method :max_expansions
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 Queries
31
+ # A query which returns documents which are similar to the specified text
32
+ #
33
+ # @example
34
+ #
35
+ # search do
36
+ # query do
37
+ # fuzzy_like_this do
38
+ # like_text 'Eyjafjallajökull'
39
+ # fields [:title, :abstract, :content]
40
+ # end
41
+ # end
42
+ # end
43
+ #
44
+ # @see http://opensearch.org/guide/en/opensearch/reference/current/query-dsl-flt-query.html
45
+ #
46
+ class FuzzyLikeThis
47
+ include BaseComponent
48
+
49
+ option_method :fields
50
+ option_method :like_text
51
+ option_method :fuzziness
52
+ option_method :analyzer
53
+ option_method :max_query_terms
54
+ option_method :prefix_length
55
+ option_method :boost
56
+ option_method :ignore_tf
57
+ end
58
+ end
59
+ end
60
+ end
61
+ 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 Queries
31
+ # A query which returns documents which are similar to the specified text,
32
+ # executed on a single field
33
+ #
34
+ # @example
35
+ #
36
+ # search do
37
+ # query do
38
+ # fuzzy_like_this_field :content do
39
+ # like_text 'Eyjafjallajökull'
40
+ # end
41
+ # end
42
+ # end
43
+ #
44
+ # @see http://opensearch.org/guide/en/opensearch/reference/current/query-dsl-flt-field-query.html
45
+ #
46
+ class FuzzyLikeThisField
47
+ include BaseComponent
48
+
49
+ option_method :like_text
50
+ option_method :fuzziness
51
+ option_method :analyzer
52
+ option_method :max_query_terms
53
+ option_method :prefix_length
54
+ option_method :boost
55
+ option_method :ignore_tf
56
+ end
57
+ end
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,54 @@
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 Queries
31
+ # A query which returns documents which fall into a specified geographical shape
32
+ #
33
+ # @example
34
+ #
35
+ # search do
36
+ # query do
37
+ # geo_shape :location do
38
+ # shape type: 'envelope',
39
+ # coordinates: [[14.2162566185,49.9415476869], [14.7149200439,50.1815123678]]
40
+ # end
41
+ # end
42
+ # end
43
+ #
44
+ #
45
+ class GeoShape
46
+ include BaseComponent
47
+
48
+ option_method :shape
49
+ option_method :indexed_shape
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,82 @@
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 Queries
31
+ # A query which returns parent documents for children documents matching a query
32
+ #
33
+ # @example Return articles where John has commented
34
+ #
35
+ # search do
36
+ # query do
37
+ # has_child do
38
+ # type 'comment'
39
+ # query do
40
+ # match author: 'John'
41
+ # end
42
+ # end
43
+ # end
44
+ # end
45
+ #
46
+ # @see http://opensearch.org/guide/en/opensearch/reference/current/query-dsl-has-child-query.html
47
+ #
48
+ class HasChild
49
+ include BaseComponent
50
+
51
+ option_method :type
52
+ option_method :score_mode
53
+ option_method :min_children
54
+ option_method :max_children
55
+ option_method :inner_hits
56
+
57
+ # DSL method for building the `query` part of the query definition
58
+ #
59
+ # @return [self]
60
+ #
61
+ def query(*args, &block)
62
+ @query = block ? @query = Query.new(*args, &block) : args.first
63
+ self
64
+ end
65
+
66
+ # Converts the query definition to a Hash
67
+ #
68
+ # @return [Hash]
69
+ #
70
+ def to_hash
71
+ hash = super
72
+ if @query
73
+ _query = @query.respond_to?(:to_hash) ? @query.to_hash : @query
74
+ hash[name].update(query: _query)
75
+ end
76
+ hash
77
+ end
78
+ end
79
+ end
80
+ end
81
+ end
82
+ end
@@ -0,0 +1,82 @@
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 Queries
31
+ # A query which returns children documents for parent documents matching a query
32
+ #
33
+ # @example Return comments for articles about Ruby
34
+ #
35
+ # search do
36
+ # query do
37
+ # has_parent do
38
+ # type 'article'
39
+ # query do
40
+ # match title: 'Ruby'
41
+ # end
42
+ # end
43
+ # end
44
+ # end
45
+ #
46
+ # @example
47
+ #
48
+ # @see http://opensearch.org/guide/en/opensearch/reference/current/query-dsl-has-parent-query.html
49
+ #
50
+ class HasParent
51
+ include BaseComponent
52
+
53
+ option_method :parent_type
54
+ option_method :score_mode
55
+ option_method :inner_hits
56
+
57
+ # DSL method for building the `query` part of the query definition
58
+ #
59
+ # @return [self]
60
+ #
61
+ def query(*args, &block)
62
+ @query = block ? @query = Query.new(*args, &block) : args.first
63
+ self
64
+ end
65
+
66
+ # Converts the query definition to a Hash
67
+ #
68
+ # @return [Hash]
69
+ #
70
+ def to_hash
71
+ hash = super
72
+ if @query
73
+ _query = @query.respond_to?(:to_hash) ? @query.to_hash : @query
74
+ hash[name].update(query: _query)
75
+ end
76
+ hash
77
+ end
78
+ end
79
+ end
80
+ end
81
+ end
82
+ end
@@ -0,0 +1,52 @@
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 Queries
31
+ # A query which returns documents matching the specified IDs
32
+ #
33
+ # @example
34
+ #
35
+ # search do
36
+ # query do
37
+ # ids values: [1, 2, 3]
38
+ # end
39
+ # end
40
+ #
41
+ # @see http://opensearch.org/guide/en/opensearch/reference/current/query-dsl-ids-query.html
42
+ #
43
+ class Ids
44
+ include BaseComponent
45
+
46
+ option_method :type
47
+ option_method :values
48
+ end
49
+ end
50
+ end
51
+ end
52
+ 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 Queries
31
+ # A query which executes a custom query only for documents in specified indices,
32
+ # and optionally another query for documents in other indices
33
+ #
34
+ # @example
35
+ #
36
+ # search do
37
+ # query do
38
+ # indices do
39
+ # indices ['audio', 'video']
40
+ # query match: { artist: 'Fugazi' }
41
+ # no_match_query match: { label: 'Dischord' }
42
+ # end
43
+ # end
44
+ # end
45
+ #
46
+ # @see http://opensearch.org/guide/en/opensearch/reference/current/query-dsl-indices-query.html
47
+ #
48
+ class Indices
49
+ include BaseComponent
50
+
51
+ option_method :indices
52
+ option_method :query
53
+ option_method :no_match_query
54
+ end
55
+ end
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,67 @@
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 Queries
31
+ # A simple to use, yet sophisticated query which returns documents matching the specified terms,
32
+ # taking into account field types, analyzers, etc. and allowing to search in phrase, prefix, fuzzy modes
33
+ #
34
+ # @example
35
+ #
36
+ # search do
37
+ # query do
38
+ # match :content do
39
+ # query 'how to fix my printer'
40
+ # operator 'and'
41
+ # end
42
+ # end
43
+ # end
44
+ #
45
+ #
46
+ class Match
47
+ include BaseComponent
48
+
49
+ option_method :query
50
+ option_method :operator
51
+ option_method :minimum_should_match
52
+ option_method :type
53
+ option_method :boost
54
+ option_method :fuzziness
55
+ option_method :prefix_length
56
+ option_method :max_expansions
57
+ option_method :fuzzy_rewrite
58
+ option_method :analyzer
59
+ option_method :lenient
60
+ option_method :zero_terms_query
61
+ option_method :cutoff_frequency
62
+ option_method :max_expansions
63
+ end
64
+ end
65
+ end
66
+ end
67
+ end
@@ -0,0 +1,50 @@
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 Queries
31
+ # A query which matches all documents
32
+ #
33
+ # @example
34
+ #
35
+ # search do
36
+ # query do
37
+ # match_all
38
+ # end
39
+ # end
40
+ #
41
+ #
42
+ class MatchAll
43
+ include BaseComponent
44
+
45
+ option_method :boost
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,56 @@
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 Queries
31
+ # A query that analyzes the text and creates a phrase query out of the analyzed text
32
+ #
33
+ # @example
34
+ #
35
+ # search do
36
+ # query do
37
+ # match_phrase :content do
38
+ # query 'example content'
39
+ # analyzer 'standard'
40
+ # end
41
+ # end
42
+ # end
43
+ #
44
+ #
45
+ class MatchPhrase
46
+ include BaseComponent
47
+
48
+ option_method :query
49
+ option_method :analyzer
50
+ option_method :boost
51
+ option_method :slop
52
+ end
53
+ end
54
+ end
55
+ end
56
+ end