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.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/README.md +80 -46
- data/USER_GUIDE.md +149 -0
- data/bin/opensearch_ruby_console +4 -34
- data/lib/opensearch/api/actions/abort_benchmark.rb +49 -0
- data/lib/opensearch/api/actions/benchmark.rb +88 -0
- data/lib/opensearch/api/actions/bulk.rb +91 -0
- data/lib/opensearch/api/actions/cat/aliases.rb +79 -0
- data/lib/opensearch/api/actions/cat/all_pit_segments.rb +45 -0
- data/lib/opensearch/api/actions/cat/allocation.rb +83 -0
- data/lib/opensearch/api/actions/cat/cluster_manager.rb +54 -0
- data/lib/opensearch/api/actions/cat/count.rb +75 -0
- data/lib/opensearch/api/actions/cat/fielddata.rb +77 -0
- data/lib/opensearch/api/actions/cat/health.rb +72 -0
- data/lib/opensearch/api/actions/cat/help.rb +61 -0
- data/lib/opensearch/api/actions/cat/indices.rb +93 -0
- data/lib/opensearch/api/actions/cat/master.rb +73 -0
- data/lib/opensearch/api/actions/cat/nodeattrs.rb +73 -0
- data/lib/opensearch/api/actions/cat/nodes.rb +82 -0
- data/lib/opensearch/api/actions/cat/params_registry.rb +69 -0
- data/lib/opensearch/api/actions/cat/pending_tasks.rb +76 -0
- data/lib/opensearch/api/actions/cat/pit_segments.rb +48 -0
- data/lib/opensearch/api/actions/cat/plugins.rb +75 -0
- data/lib/opensearch/api/actions/cat/recovery.rb +84 -0
- data/lib/opensearch/api/actions/cat/repositories.rb +73 -0
- data/lib/opensearch/api/actions/cat/segments.rb +76 -0
- data/lib/opensearch/api/actions/cat/shards.rb +85 -0
- data/lib/opensearch/api/actions/cat/snapshots.rb +82 -0
- data/lib/opensearch/api/actions/cat/tasks.rb +77 -0
- data/lib/opensearch/api/actions/cat/templates.rb +80 -0
- data/lib/opensearch/api/actions/cat/thread_pool.rb +84 -0
- data/lib/opensearch/api/actions/clear_scroll.rb +62 -0
- data/lib/opensearch/api/actions/cluster/allocation_explain.rb +67 -0
- data/lib/opensearch/api/actions/cluster/delete_component_template.rb +68 -0
- data/lib/opensearch/api/actions/cluster/delete_voting_config_exclusions.rb +59 -0
- data/lib/opensearch/api/actions/cluster/exists_component_template.rb +70 -0
- data/lib/opensearch/api/actions/cluster/get_component_template.rb +70 -0
- data/lib/opensearch/api/actions/cluster/get_settings.rb +67 -0
- data/lib/opensearch/api/actions/cluster/health.rb +88 -0
- data/lib/opensearch/api/actions/cluster/params_registry.rb +69 -0
- data/lib/opensearch/api/actions/cluster/pending_tasks.rb +64 -0
- data/lib/opensearch/api/actions/cluster/post_voting_config_exclusions.rb +63 -0
- data/lib/opensearch/api/actions/cluster/put_component_template.rb +72 -0
- data/lib/opensearch/api/actions/cluster/put_settings.rb +68 -0
- data/{spec/unit/wrapper_gem_spec.rb → lib/opensearch/api/actions/cluster/remote_info.rb} +20 -17
- data/lib/opensearch/api/actions/cluster/reroute.rb +72 -0
- data/lib/opensearch/api/actions/cluster/state.rb +87 -0
- data/lib/opensearch/api/actions/cluster/stats.rb +68 -0
- data/lib/opensearch/api/actions/count.rb +96 -0
- data/lib/opensearch/api/actions/create.rb +60 -0
- data/lib/opensearch/api/actions/create_pit.rb +45 -0
- data/lib/opensearch/api/actions/dangling_indices/delete_dangling_index.rb +70 -0
- data/lib/opensearch/api/actions/dangling_indices/import_dangling_index.rb +69 -0
- data/lib/opensearch/api/actions/dangling_indices/list_dangling_indices.rb +51 -0
- data/lib/opensearch/api/actions/dangling_indices/params_registry.rb +69 -0
- data/lib/opensearch/api/actions/delete.rb +89 -0
- data/lib/opensearch/api/actions/delete_all_pits.rb +26 -0
- data/lib/opensearch/api/actions/delete_by_query.rb +133 -0
- data/lib/opensearch/api/actions/delete_by_query_rethrottle.rb +62 -0
- data/lib/opensearch/api/actions/delete_pit.rb +30 -0
- data/lib/opensearch/api/actions/delete_script.rb +66 -0
- data/lib/opensearch/api/actions/exists.rb +94 -0
- data/lib/opensearch/api/actions/exists_source.rb +89 -0
- data/lib/opensearch/api/actions/explain.rb +99 -0
- data/lib/opensearch/api/actions/features/get_features.rb +61 -0
- data/lib/opensearch/api/actions/features/params_registry.rb +69 -0
- data/lib/opensearch/api/actions/features/reset_features.rb +55 -0
- data/lib/opensearch/api/actions/field_caps.rb +78 -0
- data/lib/opensearch/api/actions/get.rb +93 -0
- data/lib/opensearch/api/actions/get_all_pits.rb +26 -0
- data/lib/opensearch/api/actions/get_script.rb +64 -0
- data/lib/opensearch/api/actions/get_script_context.rb +53 -0
- data/lib/opensearch/api/actions/get_script_languages.rb +53 -0
- data/lib/opensearch/api/actions/get_source.rb +87 -0
- data/lib/opensearch/api/actions/http/connect.rb +28 -0
- data/lib/opensearch/api/actions/http/delete.rb +28 -0
- data/lib/opensearch/api/actions/http/get.rb +28 -0
- data/lib/opensearch/api/actions/http/head.rb +28 -0
- data/lib/opensearch/api/actions/http/options.rb +28 -0
- data/lib/opensearch/api/actions/http/patch.rb +28 -0
- data/lib/opensearch/api/actions/http/post.rb +28 -0
- data/lib/opensearch/api/actions/http/put.rb +28 -0
- data/lib/opensearch/api/actions/http/request.rb +27 -0
- data/lib/opensearch/api/actions/http/trace.rb +28 -0
- data/lib/opensearch/api/actions/index.rb +96 -0
- data/lib/opensearch/api/actions/indices/add_block.rb +78 -0
- data/lib/opensearch/api/actions/indices/analyze.rb +71 -0
- data/lib/opensearch/api/actions/indices/clear_cache.rb +79 -0
- data/lib/opensearch/api/actions/indices/clone.rb +75 -0
- data/lib/opensearch/api/actions/indices/close.rb +76 -0
- data/lib/opensearch/api/actions/indices/create.rb +71 -0
- data/lib/opensearch/api/actions/indices/delete.rb +78 -0
- data/lib/opensearch/api/actions/indices/delete_alias.rb +72 -0
- data/lib/opensearch/api/actions/indices/delete_index_template.rb +68 -0
- data/lib/opensearch/api/actions/indices/delete_template.rb +72 -0
- data/lib/opensearch/api/actions/indices/disk_usage.rb +76 -0
- data/lib/opensearch/api/actions/indices/exists.rb +79 -0
- data/lib/opensearch/api/actions/indices/exists_alias.rb +82 -0
- data/lib/opensearch/api/actions/indices/exists_index_template.rb +72 -0
- data/lib/opensearch/api/actions/indices/exists_template.rb +75 -0
- data/lib/opensearch/api/actions/indices/field_usage_stats.rb +74 -0
- data/lib/opensearch/api/actions/indices/flush.rb +74 -0
- data/lib/opensearch/api/actions/indices/forcemerge.rb +76 -0
- data/lib/opensearch/api/actions/indices/get.rb +78 -0
- data/lib/opensearch/api/actions/indices/get_alias.rb +79 -0
- data/lib/opensearch/api/actions/indices/get_field_mapping.rb +83 -0
- data/lib/opensearch/api/actions/indices/get_index_template.rb +72 -0
- data/lib/opensearch/api/actions/indices/get_mapping.rb +81 -0
- data/lib/opensearch/api/actions/indices/get_settings.rb +87 -0
- data/lib/opensearch/api/actions/indices/get_template.rb +72 -0
- data/lib/opensearch/api/actions/indices/get_upgrade.rb +75 -0
- data/lib/opensearch/api/actions/indices/open.rb +76 -0
- data/lib/opensearch/api/actions/indices/params_registry.rb +69 -0
- data/lib/opensearch/api/actions/indices/put_alias.rb +73 -0
- data/lib/opensearch/api/actions/indices/put_index_template.rb +72 -0
- data/lib/opensearch/api/actions/indices/put_mapping.rb +82 -0
- data/lib/opensearch/api/actions/indices/put_settings.rb +83 -0
- data/lib/opensearch/api/actions/indices/put_template.rb +72 -0
- data/lib/opensearch/api/actions/indices/recovery.rb +68 -0
- data/lib/opensearch/api/actions/indices/refresh.rb +70 -0
- data/lib/opensearch/api/actions/indices/resolve_index.rb +68 -0
- data/lib/opensearch/api/actions/indices/rollover.rb +81 -0
- data/lib/opensearch/api/actions/indices/segments.rb +72 -0
- data/lib/opensearch/api/actions/indices/shard_stores.rb +72 -0
- data/lib/opensearch/api/actions/indices/shrink.rb +77 -0
- data/lib/opensearch/api/actions/indices/simulate_index_template.rb +71 -0
- data/lib/opensearch/api/actions/indices/simulate_template.rb +73 -0
- data/lib/opensearch/api/actions/indices/split.rb +77 -0
- data/lib/opensearch/api/actions/indices/stats.rb +100 -0
- data/lib/opensearch/api/actions/indices/update_aliases.rb +66 -0
- data/lib/opensearch/api/actions/indices/upgrade.rb +79 -0
- data/lib/opensearch/api/actions/indices/validate_query.rb +99 -0
- data/{Gemfile → lib/opensearch/api/actions/info.rb} +19 -8
- data/lib/opensearch/api/actions/ingest/delete_pipeline.rb +68 -0
- data/lib/opensearch/api/actions/ingest/geo_ip_stats.rb +51 -0
- data/lib/opensearch/api/actions/ingest/get_pipeline.rb +70 -0
- data/lib/opensearch/api/actions/ingest/params_registry.rb +69 -0
- data/lib/opensearch/api/actions/ingest/processor_grok.rb +51 -0
- data/lib/opensearch/api/actions/ingest/put_pipeline.rb +70 -0
- data/lib/opensearch/api/actions/ingest/simulate.rb +69 -0
- data/lib/opensearch/api/actions/mget.rb +86 -0
- data/lib/opensearch/api/actions/msearch.rb +105 -0
- data/lib/opensearch/api/actions/msearch_template.rb +89 -0
- data/lib/opensearch/api/actions/mtermvectors.rb +102 -0
- data/lib/opensearch/api/actions/nodes/hot_threads.rb +81 -0
- data/lib/opensearch/api/actions/nodes/info.rb +75 -0
- data/lib/opensearch/api/actions/nodes/params_registry.rb +69 -0
- data/lib/opensearch/api/actions/nodes/reload_secure_settings.rb +67 -0
- data/lib/opensearch/api/actions/nodes/shutdown.rb +65 -0
- data/lib/opensearch/api/actions/nodes/stats.rb +96 -0
- data/lib/opensearch/api/actions/nodes/usage.rb +73 -0
- data/lib/opensearch/api/actions/params_registry.rb +67 -0
- data/lib/opensearch/api/actions/ping.rb +54 -0
- data/lib/opensearch/api/actions/put_script.rb +76 -0
- data/lib/opensearch/api/actions/rank_eval.rb +77 -0
- data/lib/opensearch/api/actions/reindex.rb +76 -0
- data/lib/opensearch/api/actions/reindex_rethrottle.rb +62 -0
- data/{spec/integration/security_disabled/validation_integration_spec.rb → lib/opensearch/api/actions/remote/info.rb} +17 -11
- data/lib/opensearch/api/actions/remote_store/restore.rb +43 -0
- data/lib/opensearch/api/actions/render_search_template.rb +62 -0
- data/lib/opensearch/api/actions/scripts_painless_execute.rb +59 -0
- data/lib/opensearch/api/actions/scroll.rb +78 -0
- data/lib/opensearch/api/actions/search.rb +161 -0
- data/lib/opensearch/api/actions/search_shards.rb +74 -0
- data/lib/opensearch/api/actions/search_template.rb +96 -0
- data/lib/opensearch/api/actions/security/change_password.rb +39 -0
- data/lib/opensearch/api/actions/security/create_action_group.rb +42 -0
- data/lib/opensearch/api/actions/security/create_role.rb +43 -0
- data/lib/opensearch/api/actions/security/create_role_mapping.rb +43 -0
- data/lib/opensearch/api/actions/security/create_tenant.rb +42 -0
- data/lib/opensearch/api/actions/security/create_user.rb +43 -0
- data/lib/opensearch/api/actions/security/delete_action_group.rb +41 -0
- data/lib/opensearch/api/actions/security/delete_distinguished_names.rb +41 -0
- data/lib/opensearch/api/actions/security/delete_role.rb +41 -0
- data/lib/opensearch/api/actions/security/delete_role_mapping.rb +41 -0
- data/lib/opensearch/api/actions/security/delete_tenant.rb +41 -0
- data/lib/opensearch/api/actions/security/delete_user.rb +41 -0
- data/lib/opensearch/api/actions/security/flush_cache.rb +36 -0
- data/lib/opensearch/api/actions/security/get_account_details.rb +36 -0
- data/lib/opensearch/api/actions/security/get_action_group.rb +41 -0
- data/lib/opensearch/api/actions/security/get_action_groups.rb +36 -0
- data/lib/opensearch/api/actions/security/get_audit_configuration.rb +36 -0
- data/lib/opensearch/api/actions/security/get_certificates.rb +36 -0
- data/lib/opensearch/api/actions/security/get_configuration.rb +36 -0
- data/lib/opensearch/api/actions/security/get_distinguished_names.rb +39 -0
- data/lib/opensearch/api/actions/security/get_role.rb +41 -0
- data/lib/opensearch/api/actions/security/get_role_mapping.rb +41 -0
- data/lib/opensearch/api/actions/security/get_role_mappings.rb +36 -0
- data/lib/opensearch/api/actions/security/get_roles.rb +36 -0
- data/lib/opensearch/api/actions/security/get_tenant.rb +41 -0
- data/lib/opensearch/api/actions/security/get_tenants.rb +36 -0
- data/lib/opensearch/api/actions/security/get_user.rb +41 -0
- data/lib/opensearch/api/actions/security/get_users.rb +36 -0
- data/lib/opensearch/api/actions/security/health.rb +36 -0
- data/lib/opensearch/api/actions/security/patch_action_group.rb +42 -0
- data/lib/opensearch/api/actions/security/patch_action_groups.rb +37 -0
- data/lib/opensearch/api/actions/security/patch_audit_configuration.rb +39 -0
- data/lib/opensearch/api/actions/security/patch_configuration.rb +39 -0
- data/lib/opensearch/api/actions/security/patch_distinguished_names.rb +39 -0
- data/lib/opensearch/api/actions/security/patch_role.rb +43 -0
- data/lib/opensearch/api/actions/security/patch_role_mapping.rb +43 -0
- data/lib/opensearch/api/actions/security/patch_role_mappings.rb +39 -0
- data/lib/opensearch/api/actions/security/patch_roles.rb +39 -0
- data/lib/opensearch/api/actions/security/patch_tenant.rb +43 -0
- data/lib/opensearch/api/actions/security/patch_tenants.rb +39 -0
- data/lib/opensearch/api/actions/security/patch_user.rb +43 -0
- data/lib/opensearch/api/actions/security/patch_users.rb +39 -0
- data/lib/opensearch/api/actions/security/reload_http_certificates.rb +36 -0
- data/lib/opensearch/api/actions/security/reload_transport_certificates.rb +36 -0
- data/lib/opensearch/api/actions/security/update_audit_configuration.rb +39 -0
- data/lib/opensearch/api/actions/security/update_configuration.rb +39 -0
- data/lib/opensearch/api/actions/security/update_distinguished_names.rb +42 -0
- data/lib/opensearch/api/actions/shutdown/delete_node.rb +60 -0
- data/lib/opensearch/api/actions/shutdown/get_node.rb +62 -0
- data/lib/opensearch/api/actions/shutdown/params_registry.rb +69 -0
- data/lib/opensearch/api/actions/shutdown/put_node.rb +62 -0
- data/lib/opensearch/api/actions/snapshot/cleanup_repository.rb +68 -0
- data/lib/opensearch/api/actions/snapshot/clone.rb +76 -0
- data/lib/opensearch/api/actions/snapshot/create.rb +73 -0
- data/lib/opensearch/api/actions/snapshot/create_repository.rb +72 -0
- data/lib/opensearch/api/actions/snapshot/delete.rb +74 -0
- data/lib/opensearch/api/actions/snapshot/delete_repository.rb +72 -0
- data/lib/opensearch/api/actions/snapshot/get.rb +82 -0
- data/lib/opensearch/api/actions/snapshot/get_features.rb +61 -0
- data/lib/opensearch/api/actions/snapshot/get_repository.rb +73 -0
- data/lib/opensearch/api/actions/snapshot/params_registry.rb +69 -0
- data/lib/opensearch/api/actions/snapshot/repository_analyze.rb +84 -0
- data/lib/opensearch/api/actions/snapshot/restore.rb +73 -0
- data/lib/opensearch/api/actions/snapshot/status.rb +79 -0
- data/lib/opensearch/api/actions/snapshot/verify_repository.rb +68 -0
- data/lib/opensearch/api/actions/tasks/cancel.rb +76 -0
- data/lib/opensearch/api/actions/tasks/get.rb +68 -0
- data/lib/opensearch/api/actions/tasks/list.rb +75 -0
- data/lib/opensearch/api/actions/tasks/params_registry.rb +69 -0
- data/lib/opensearch/api/actions/termvectors.rb +108 -0
- data/lib/opensearch/api/actions/update.rb +99 -0
- data/lib/opensearch/api/actions/update_by_query.rb +137 -0
- data/lib/opensearch/api/actions/update_by_query_rethrottle.rb +62 -0
- data/{spec/integration/security_enabled/validation_integration_spec.rb → lib/opensearch/api/namespace/cat.rb} +19 -12
- data/lib/opensearch/api/namespace/cluster.rb +47 -0
- data/lib/opensearch/api/namespace/common.rb +72 -0
- data/lib/opensearch/api/namespace/dangling_indices.rb +47 -0
- data/lib/opensearch/api/namespace/features.rb +47 -0
- data/lib/opensearch/api/namespace/http.rb +30 -0
- data/lib/opensearch/api/namespace/indices.rb +47 -0
- data/lib/opensearch/api/namespace/ingest.rb +47 -0
- data/lib/opensearch/api/namespace/nodes.rb +47 -0
- data/lib/opensearch/api/namespace/remote.rb +47 -0
- data/lib/opensearch/api/namespace/remote_store.rb +30 -0
- data/lib/opensearch/api/namespace/security.rb +30 -0
- data/lib/opensearch/api/namespace/shutdown.rb +47 -0
- data/lib/opensearch/api/namespace/snapshot.rb +47 -0
- data/lib/opensearch/api/namespace/tasks.rb +47 -0
- data/lib/opensearch/api/utils.rb +296 -0
- data/lib/opensearch/api.rb +104 -0
- data/lib/opensearch/dsl/search/aggregation.rb +112 -0
- data/lib/opensearch/dsl/search/aggregations/avg.rb +49 -0
- data/lib/opensearch/dsl/search/aggregations/cardinality.rb +56 -0
- data/lib/opensearch/dsl/search/aggregations/children.rb +63 -0
- data/lib/opensearch/dsl/search/aggregations/composite.rb +68 -0
- data/lib/opensearch/dsl/search/aggregations/date_histogram.rb +64 -0
- data/lib/opensearch/dsl/search/aggregations/date_range.rb +59 -0
- data/lib/opensearch/dsl/search/aggregations/extended_stats.rb +48 -0
- data/lib/opensearch/dsl/search/aggregations/filter.rb +54 -0
- data/lib/opensearch/dsl/search/aggregations/filters.rb +59 -0
- data/lib/opensearch/dsl/search/aggregations/geo_bounds.rb +68 -0
- data/lib/opensearch/dsl/search/aggregations/geo_distance.rb +63 -0
- data/lib/opensearch/dsl/search/aggregations/geohash_grid.rb +59 -0
- data/lib/opensearch/dsl/search/aggregations/global.rb +52 -0
- data/{spec/integration/security_disabled/client_integration_spec.rb → lib/opensearch/dsl/search/aggregations/histogram.rb} +29 -29
- data/lib/opensearch/dsl/search/aggregations/ip_range.rb +55 -0
- data/lib/opensearch/dsl/search/aggregations/max.rb +49 -0
- data/lib/opensearch/dsl/search/aggregations/min.rb +49 -0
- data/lib/opensearch/dsl/search/aggregations/missing.rb +59 -0
- data/lib/opensearch/dsl/search/aggregations/nested.rb +57 -0
- data/lib/opensearch/dsl/search/aggregations/percentile_ranks.rb +58 -0
- data/lib/opensearch/dsl/search/aggregations/percentiles.rb +57 -0
- data/lib/opensearch/dsl/search/aggregations/pipeline/avg_bucket.rb +58 -0
- data/lib/opensearch/dsl/search/aggregations/pipeline/bucket_script.rb +60 -0
- data/lib/opensearch/dsl/search/aggregations/pipeline/bucket_selector.rb +59 -0
- data/lib/opensearch/dsl/search/aggregations/pipeline/bucket_sort.rb +111 -0
- data/lib/opensearch/dsl/search/aggregations/pipeline/cumulative_sum.rb +57 -0
- data/lib/opensearch/dsl/search/aggregations/pipeline/derivative.rb +58 -0
- data/lib/opensearch/dsl/search/aggregations/pipeline/extended_stats_bucket.rb +58 -0
- data/lib/opensearch/dsl/search/aggregations/pipeline/max_bucket.rb +58 -0
- data/lib/opensearch/dsl/search/aggregations/pipeline/min_bucket.rb +58 -0
- data/lib/opensearch/dsl/search/aggregations/pipeline/moving_avg.rb +66 -0
- data/lib/opensearch/dsl/search/aggregations/pipeline/percentiles_bucket.rb +60 -0
- data/lib/opensearch/dsl/search/aggregations/pipeline/serial_diff.rb +60 -0
- data/lib/opensearch/dsl/search/aggregations/pipeline/stats_bucket.rb +58 -0
- data/lib/opensearch/dsl/search/aggregations/pipeline/sum_bucket.rb +58 -0
- data/lib/opensearch/dsl/search/aggregations/range.rb +77 -0
- data/lib/opensearch/dsl/search/aggregations/reverse_nested.rb +61 -0
- data/lib/opensearch/dsl/search/aggregations/scripted_metric.rb +63 -0
- data/lib/opensearch/dsl/search/aggregations/significant_terms.rb +69 -0
- data/lib/opensearch/dsl/search/aggregations/stats.rb +61 -0
- data/lib/opensearch/dsl/search/aggregations/sum.rb +49 -0
- data/lib/opensearch/dsl/search/aggregations/terms.rb +66 -0
- data/lib/opensearch/dsl/search/aggregations/top_hits.rb +59 -0
- data/lib/opensearch/dsl/search/aggregations/value_count.rb +49 -0
- data/lib/opensearch/dsl/search/base_aggregation_component.rb +83 -0
- data/lib/opensearch/dsl/search/base_component.rb +191 -0
- data/lib/opensearch/dsl/search/base_compound_filter_component.rb +124 -0
- data/lib/opensearch/dsl/search/filter.rb +82 -0
- data/lib/opensearch/dsl/search/filters/and.rb +70 -0
- data/lib/opensearch/dsl/search/filters/bool.rb +103 -0
- data/lib/opensearch/dsl/search/filters/exists.rb +56 -0
- data/lib/opensearch/dsl/search/filters/geo_bounding_box.rb +69 -0
- data/lib/opensearch/dsl/search/filters/geo_distance.rb +81 -0
- data/lib/opensearch/dsl/search/filters/geo_distance_range.rb +56 -0
- data/lib/opensearch/dsl/search/filters/geo_polygon.rb +65 -0
- data/lib/opensearch/dsl/search/filters/geo_shape.rb +59 -0
- data/lib/opensearch/dsl/search/filters/geohash_cell.rb +71 -0
- data/lib/opensearch/dsl/search/filters/has_child.rb +98 -0
- data/lib/opensearch/dsl/search/filters/has_parent.rb +97 -0
- data/lib/opensearch/dsl/search/filters/ids.rb +56 -0
- data/lib/opensearch/dsl/search/filters/indices.rb +101 -0
- data/lib/opensearch/dsl/search/filters/limit.rb +55 -0
- data/lib/opensearch/dsl/search/filters/match_all.rb +52 -0
- data/lib/opensearch/dsl/search/filters/missing.rb +58 -0
- data/lib/opensearch/dsl/search/filters/nested.rb +91 -0
- data/lib/opensearch/dsl/search/filters/not.rb +98 -0
- data/lib/opensearch/dsl/search/filters/or.rb +70 -0
- data/lib/opensearch/dsl/search/filters/prefix.rb +53 -0
- data/lib/opensearch/dsl/search/filters/query.rb +77 -0
- data/lib/opensearch/dsl/search/filters/range.rb +63 -0
- data/lib/opensearch/dsl/search/filters/regexp.rb +58 -0
- data/lib/opensearch/dsl/search/filters/script.rb +56 -0
- data/lib/opensearch/dsl/search/filters/term.rb +55 -0
- data/lib/opensearch/dsl/search/filters/terms.rb +56 -0
- data/lib/opensearch/dsl/search/filters/type.rb +58 -0
- data/lib/opensearch/dsl/search/highlight.rb +117 -0
- data/lib/opensearch/dsl/search/options.rb +80 -0
- data/lib/opensearch/dsl/search/queries/bool.rb +110 -0
- data/lib/opensearch/dsl/search/queries/boosting.rb +57 -0
- data/lib/opensearch/dsl/search/queries/common.rb +62 -0
- data/lib/opensearch/dsl/search/queries/constant_score.rb +90 -0
- data/lib/opensearch/dsl/search/queries/dis_max.rb +59 -0
- data/lib/opensearch/dsl/search/queries/exists.rb +68 -0
- data/lib/opensearch/dsl/search/queries/filtered.rb +101 -0
- data/lib/opensearch/dsl/search/queries/function_score.rb +122 -0
- data/lib/opensearch/dsl/search/queries/fuzzy.rb +69 -0
- data/lib/opensearch/dsl/search/queries/fuzzy_like_this.rb +61 -0
- data/lib/opensearch/dsl/search/queries/fuzzy_like_this_field.rb +60 -0
- data/lib/opensearch/dsl/search/queries/geo_shape.rb +54 -0
- data/lib/opensearch/dsl/search/queries/has_child.rb +82 -0
- data/lib/opensearch/dsl/search/queries/has_parent.rb +82 -0
- data/lib/opensearch/dsl/search/queries/ids.rb +52 -0
- data/lib/opensearch/dsl/search/queries/indices.rb +58 -0
- data/lib/opensearch/dsl/search/queries/match.rb +66 -0
- data/lib/opensearch/dsl/search/queries/match_all.rb +50 -0
- data/lib/opensearch/dsl/search/queries/match_phrase.rb +56 -0
- data/lib/opensearch/dsl/search/queries/match_phrase_prefix.rb +55 -0
- data/lib/opensearch/dsl/search/queries/more_like_this.rb +88 -0
- data/lib/opensearch/dsl/search/queries/multi_match.rb +69 -0
- data/lib/opensearch/dsl/search/queries/nested.rb +80 -0
- data/lib/opensearch/dsl/search/queries/prefix.rb +54 -0
- data/lib/opensearch/dsl/search/queries/query_string.rb +75 -0
- data/lib/opensearch/dsl/search/queries/range.rb +71 -0
- data/lib/opensearch/dsl/search/queries/regexp.rb +55 -0
- data/lib/opensearch/dsl/search/queries/script_score.rb +62 -0
- data/lib/opensearch/dsl/search/queries/simple_query_string.rb +64 -0
- data/lib/opensearch/dsl/search/queries/span_first.rb +52 -0
- data/lib/opensearch/dsl/search/queries/span_multi.rb +52 -0
- data/lib/opensearch/dsl/search/queries/span_near.rb +56 -0
- data/lib/opensearch/dsl/search/queries/span_not.rb +57 -0
- data/lib/opensearch/dsl/search/queries/span_or.rb +52 -0
- data/lib/opensearch/dsl/search/queries/span_term.rb +50 -0
- data/lib/opensearch/dsl/search/queries/template.rb +55 -0
- data/lib/opensearch/dsl/search/queries/term.rb +50 -0
- data/lib/opensearch/dsl/search/queries/terms.rb +51 -0
- data/lib/opensearch/dsl/search/queries/top_children.rb +82 -0
- data/lib/opensearch/dsl/search/queries/wildcard.rb +54 -0
- data/lib/opensearch/dsl/search/query.rb +82 -0
- data/lib/opensearch/dsl/search/sort.rb +83 -0
- data/lib/opensearch/dsl/search/suggest.rb +52 -0
- data/lib/opensearch/dsl/search.rb +282 -0
- data/lib/opensearch/dsl/utils.rb +49 -0
- data/lib/opensearch/dsl.rb +69 -0
- data/lib/opensearch/transport/client.rb +362 -0
- data/lib/opensearch/transport/redacted.rb +82 -0
- data/lib/opensearch/transport/transport/base.rb +451 -0
- data/lib/opensearch/transport/transport/connections/collection.rb +134 -0
- data/lib/opensearch/transport/transport/connections/connection.rb +168 -0
- data/lib/opensearch/transport/transport/connections/selector.rb +100 -0
- data/lib/opensearch/transport/transport/errors.rb +97 -0
- data/lib/opensearch/transport/transport/http/curb.rb +139 -0
- data/lib/opensearch/transport/transport/http/faraday.rb +101 -0
- data/lib/opensearch/transport/transport/http/manticore.rb +188 -0
- data/lib/opensearch/transport/transport/loggable.rb +92 -0
- data/lib/opensearch/transport/transport/response.rb +47 -0
- data/lib/opensearch/transport/transport/serializer/multi_json.rb +61 -0
- data/lib/opensearch/transport/transport/sniffer.rb +110 -0
- data/lib/opensearch/transport.rb +44 -0
- data/lib/opensearch/version.rb +1 -1
- data/lib/opensearch-dsl.rb +27 -0
- data/lib/opensearch.rb +12 -12
- data/opensearch-ruby.gemspec +69 -0
- data/spec/spec_helper.rb +95 -4
- data/test/dsl/integration/search_aggregation_children_test.rb +91 -0
- data/test/dsl/integration/search_aggregation_geo_test.rb +112 -0
- data/test/dsl/integration/search_aggregation_nested_test.rb +129 -0
- data/test/dsl/integration/search_aggregations_test.rb +288 -0
- data/test/dsl/integration/search_filters_test.rb +290 -0
- data/test/dsl/integration/search_options_test.rb +54 -0
- data/test/dsl/integration/search_query_test.rb +98 -0
- data/test/dsl/integration/search_size_from_test.rb +71 -0
- data/test/dsl/integration/search_sort_test.rb +57 -0
- data/test/dsl/integration/search_suggest_test.rb +107 -0
- data/test/dsl/integration/search_test.rb +81 -0
- data/test/dsl/test_helper.rb +95 -0
- data/test/dsl/unit/dsl_test.rb +44 -0
- data/test/dsl/unit/search_aggregation_test.rb +96 -0
- data/test/dsl/unit/search_base_aggregation_component_test.rb +66 -0
- data/test/dsl/unit/search_base_component_test.rb +210 -0
- data/test/dsl/unit/search_filter_test.rb +84 -0
- data/test/dsl/unit/search_highlight_test.rb +103 -0
- data/test/dsl/unit/search_options_test.rb +114 -0
- data/test/dsl/unit/search_query_test.rb +88 -0
- data/test/dsl/unit/search_size_from_test.rb +68 -0
- data/test/dsl/unit/search_sort_test.rb +91 -0
- data/test/dsl/unit/search_suggest_test.rb +46 -0
- data/test/dsl/unit/search_test.rb +268 -0
- data/test/dsl/unit/utils_test.rb +47 -0
- data/test/transport/integration/transport_test.rb +117 -0
- data/test/transport/profile/client_benchmark_test.rb +141 -0
- data/test/transport/test_helper.rb +97 -0
- data/test/transport/unit/connection_test.rb +145 -0
- data/test/transport/unit/response_test.rb +46 -0
- data/test/transport/unit/serializer_test.rb +42 -0
- data/test/transport/unit/transport_base_test.rb +673 -0
- data/test/transport/unit/transport_curb_test.rb +143 -0
- data/test/transport/unit/transport_faraday_test.rb +237 -0
- data/test/transport/unit/transport_manticore_test.rb +191 -0
- data.tar.gz.sig +0 -0
- metadata +502 -191
- metadata.gz.sig +0 -0
- data/.gitignore +0 -21
- data/Rakefile +0 -69
- data/opensearch.gemspec +0 -81
- data/spec/integration/security_enabled/client_integration_spec.rb +0 -43
- data/spec/unit/opensearch_product_validation_spec.rb +0 -198
- /data/{LICENSE → LICENSE.txt} +0 -0
@@ -0,0 +1,57 @@
|
|
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 calculates percentiles on numeric values
|
32
|
+
#
|
33
|
+
# @example
|
34
|
+
#
|
35
|
+
# search do
|
36
|
+
# aggregation :load_time_outliers do
|
37
|
+
# percentiles do
|
38
|
+
# field 'load_time'
|
39
|
+
# end
|
40
|
+
# end
|
41
|
+
# end
|
42
|
+
#
|
43
|
+
# @see http://opensearch.org/guide/en/opensearch/reference/current/search-aggregations-metrics-percentile-aggregation.html
|
44
|
+
#
|
45
|
+
class Percentiles
|
46
|
+
include BaseComponent
|
47
|
+
|
48
|
+
option_method :field
|
49
|
+
option_method :percents
|
50
|
+
option_method :script
|
51
|
+
option_method :params
|
52
|
+
option_method :compression
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
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 (mean) average value of a specified metric in a sibling aggregation.
|
32
|
+
#
|
33
|
+
# @example Passing the options as a Hash
|
34
|
+
#
|
35
|
+
# aggregation :avg_monthly_sales do
|
36
|
+
# avg_bucket buckets_path: 'sales_per_month>sales'
|
37
|
+
# end
|
38
|
+
#
|
39
|
+
# @example Passing the options as a block
|
40
|
+
#
|
41
|
+
# aggregation :avg_monthly_sales do
|
42
|
+
# avg_bucket do
|
43
|
+
# buckets_path 'sales_per_month>sales'
|
44
|
+
# end
|
45
|
+
# end
|
46
|
+
#
|
47
|
+
#
|
48
|
+
class AvgBucket
|
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,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 parent pipeline aggregation which executes a script which can perform per bucket computations on specified metrics in the parent multi-bucket aggregation.
|
32
|
+
#
|
33
|
+
# @example Passing the options as a Hash
|
34
|
+
#
|
35
|
+
# aggregation :t-shirt-percentage do
|
36
|
+
# bucket_script buckets_path: { tShirtSales: 't-shirts>sales', totalSales: 'total_sales' }, script: 'tShirtSales / totalSales * 100'
|
37
|
+
# end
|
38
|
+
#
|
39
|
+
# @example Passing the options as a block
|
40
|
+
#
|
41
|
+
# aggregation :t-shirt-percentage do
|
42
|
+
# bucket_script do
|
43
|
+
# buckets_path tShirtSales: 't-shirts>sales', totalSales: 'total_sales'
|
44
|
+
# script 'tShirtSales / totalSales * 100'
|
45
|
+
# end
|
46
|
+
# end
|
47
|
+
#
|
48
|
+
#
|
49
|
+
class BucketScript
|
50
|
+
include BaseAggregationComponent
|
51
|
+
|
52
|
+
option_method :buckets_path
|
53
|
+
option_method :script
|
54
|
+
option_method :gap_policy
|
55
|
+
option_method :format
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
@@ -0,0 +1,59 @@
|
|
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 parent pipeline aggregation which executes a script which determines whether the current bucket will be retained in the parent multi-bucket aggregation.
|
32
|
+
#
|
33
|
+
# @example Passing the options as a Hash
|
34
|
+
#
|
35
|
+
# aggregation :sales_bucket_filter do
|
36
|
+
# bucket_selector buckets_path: { totalSales: 'total_sales' }, script: 'totalSales <= 50'
|
37
|
+
# end
|
38
|
+
#
|
39
|
+
# @example Passing the options as a block
|
40
|
+
#
|
41
|
+
# aggregation :sales_bucket_filter do
|
42
|
+
# bucket_selector do
|
43
|
+
# buckets_path totalSales: 'total_sales'
|
44
|
+
# script 'totalSales <= 50'
|
45
|
+
# end
|
46
|
+
# end
|
47
|
+
#
|
48
|
+
#
|
49
|
+
class BucketSelector
|
50
|
+
include BaseAggregationComponent
|
51
|
+
|
52
|
+
option_method :buckets_path
|
53
|
+
option_method :script
|
54
|
+
option_method :gap_policy
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
@@ -0,0 +1,111 @@
|
|
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 parent pipeline aggregation which sorts the buckets of its parent multi-bucket aggregation.
|
32
|
+
#
|
33
|
+
# @example Passing the options as a Hash
|
34
|
+
#
|
35
|
+
# aggregation :sales_bucket_filter do
|
36
|
+
# bucket_sort gap_policy: 'insert_zero'
|
37
|
+
# end
|
38
|
+
#
|
39
|
+
# @example Passing the options as a block
|
40
|
+
#
|
41
|
+
# aggregation :sales_bucket_sort do
|
42
|
+
# bucket_sort do
|
43
|
+
# sort do
|
44
|
+
# by :total_sales, order: 'desc'
|
45
|
+
# end
|
46
|
+
# size 3
|
47
|
+
# end
|
48
|
+
# end
|
49
|
+
#
|
50
|
+
#
|
51
|
+
class BucketSort
|
52
|
+
include BaseAggregationComponent
|
53
|
+
|
54
|
+
# Add a sort clause to the search definition.
|
55
|
+
#
|
56
|
+
# @example
|
57
|
+
#
|
58
|
+
# bucket_sort do
|
59
|
+
# sort do
|
60
|
+
# by :total_sales, order: 'desc'
|
61
|
+
# end
|
62
|
+
# end
|
63
|
+
#
|
64
|
+
# @return [ Sort, Hash ] The sort definition.
|
65
|
+
#
|
66
|
+
# @since 0.1.9
|
67
|
+
def sort(*args, &block)
|
68
|
+
if !args.empty? || block
|
69
|
+
@sort = Sort.new(*args, &block)
|
70
|
+
self
|
71
|
+
else
|
72
|
+
@sort
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
# Get a hash representation of the aggregation.
|
77
|
+
#
|
78
|
+
# @example
|
79
|
+
#
|
80
|
+
# s = search do
|
81
|
+
# aggregation do
|
82
|
+
# bucket_sort do
|
83
|
+
# sort do
|
84
|
+
# by :total_sales, order: 'desc'
|
85
|
+
# end
|
86
|
+
# end
|
87
|
+
# end
|
88
|
+
# end
|
89
|
+
#
|
90
|
+
# client.search(body: s.to_hash)
|
91
|
+
#
|
92
|
+
# @return [ Hash ] The hash representation of the aggregation.
|
93
|
+
#
|
94
|
+
# @since 0.1.9
|
95
|
+
def to_hash
|
96
|
+
call
|
97
|
+
|
98
|
+
@hash[:aggregations] = @aggregations.to_hash if @aggregations
|
99
|
+
|
100
|
+
@hash[name].merge!(sort: @sort.to_hash) if @sort
|
101
|
+
@hash
|
102
|
+
end
|
103
|
+
|
104
|
+
option_method :from
|
105
|
+
option_method :size
|
106
|
+
option_method :gap_policy
|
107
|
+
end
|
108
|
+
end
|
109
|
+
end
|
110
|
+
end
|
111
|
+
end
|
@@ -0,0 +1,57 @@
|
|
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 parent pipeline aggregation which calculates the cumulative sum of a specified metric in a parent histogram (or date_histogram) aggregation.
|
32
|
+
#
|
33
|
+
# @example Passing the options as a Hash
|
34
|
+
#
|
35
|
+
# aggregation :cumulative_sales do
|
36
|
+
# cumulative_sum buckets_path: 'sales'
|
37
|
+
# end
|
38
|
+
#
|
39
|
+
# @example Passing the options as a block
|
40
|
+
#
|
41
|
+
# aggregation :cumulative_sales do
|
42
|
+
# cumulative_sum do
|
43
|
+
# buckets_path 'sales'
|
44
|
+
# end
|
45
|
+
# end
|
46
|
+
#
|
47
|
+
#
|
48
|
+
class CumulativeSum
|
49
|
+
include BaseAggregationComponent
|
50
|
+
|
51
|
+
option_method :buckets_path
|
52
|
+
option_method :format
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
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 parent pipeline aggregation which calculates the derivative of a specified metric in a parent histogram (or date_histogram) aggregation.
|
32
|
+
#
|
33
|
+
# @example Passing the options as a Hash
|
34
|
+
#
|
35
|
+
# aggregation :sales_deriv do
|
36
|
+
# derivative buckets_path: 'sales'
|
37
|
+
# end
|
38
|
+
#
|
39
|
+
# @example Passing the options as a block
|
40
|
+
#
|
41
|
+
# aggregation :sales_deriv do
|
42
|
+
# derivative do
|
43
|
+
# buckets_path 'sales'
|
44
|
+
# end
|
45
|
+
# end
|
46
|
+
#
|
47
|
+
#
|
48
|
+
class Derivative
|
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 a variety of stats across all bucket of a specified metric in a sibling aggregation. The specified metric must be numeric and the sibling aggregation must be a multi-bucket aggregation.
|
32
|
+
#
|
33
|
+
# @example Passing the options as a Hash
|
34
|
+
#
|
35
|
+
# aggregation :stats_monthly_sales do
|
36
|
+
# extended_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
|
+
# extended_stats_bucket do
|
43
|
+
# buckets_path 'sales_per_month>sales'
|
44
|
+
# end
|
45
|
+
# end
|
46
|
+
#
|
47
|
+
#
|
48
|
+
class ExtendedStatsBucket
|
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 identifies the bucket(s) with the maximum value of a specified metric in a sibling aggregation and outputs both the value and the key(s) of the bucket(s).
|
32
|
+
#
|
33
|
+
# @example Passing the options as a Hash
|
34
|
+
#
|
35
|
+
# aggregation :max_monthly_sales do
|
36
|
+
# max_bucket buckets_path: 'sales_per_month>sales'
|
37
|
+
# end
|
38
|
+
#
|
39
|
+
# @example Passing the options as a block
|
40
|
+
#
|
41
|
+
# aggregation :max_monthly_sales do
|
42
|
+
# max_bucket do
|
43
|
+
# buckets_path 'sales_per_month>sales'
|
44
|
+
# end
|
45
|
+
# end
|
46
|
+
#
|
47
|
+
#
|
48
|
+
class MaxBucket
|
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 identifies the bucket(s) with the minimum value of a specified metric in a sibling aggregation and outputs both the value and the key(s) of the bucket(s).
|
32
|
+
#
|
33
|
+
# @example Passing the options as a Hash
|
34
|
+
#
|
35
|
+
# aggregation :min_monthly_sales do
|
36
|
+
# min_bucket buckets_path: 'sales_per_month>sales'
|
37
|
+
# end
|
38
|
+
#
|
39
|
+
# @example Passing the options as a block
|
40
|
+
#
|
41
|
+
# aggregation :min_monthly_sales do
|
42
|
+
# min_bucket do
|
43
|
+
# buckets_path 'sales_per_month>sales'
|
44
|
+
# end
|
45
|
+
# end
|
46
|
+
#
|
47
|
+
#
|
48
|
+
class MinBucket
|
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
|