elasticsearch-api 6.8.0 → 7.10.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +26 -5
- data/LICENSE +202 -0
- data/README.md +24 -21
- data/Rakefile +43 -45
- data/elasticsearch-api.gemspec +56 -55
- data/lib/elasticsearch/api/actions/abort_benchmark.rb +19 -3
- data/lib/elasticsearch/api/actions/benchmark.rb +21 -5
- data/lib/elasticsearch/api/actions/bulk.rb +54 -69
- data/lib/elasticsearch/api/actions/cat/aliases.rb +45 -45
- data/lib/elasticsearch/api/actions/cat/allocation.rb +45 -41
- data/lib/elasticsearch/api/actions/cat/count.rb +38 -39
- data/lib/elasticsearch/api/actions/cat/fielddata.rb +42 -29
- data/lib/elasticsearch/api/actions/cat/health.rb +37 -29
- data/lib/elasticsearch/api/actions/cat/help.rb +31 -9
- data/lib/elasticsearch/api/actions/cat/indices.rb +51 -51
- data/lib/elasticsearch/api/actions/cat/master.rb +36 -26
- data/lib/elasticsearch/api/actions/cat/nodeattrs.rb +36 -14
- data/lib/elasticsearch/api/actions/cat/nodes.rb +43 -39
- data/lib/elasticsearch/api/actions/cat/params_registry.rb +20 -4
- data/lib/elasticsearch/api/actions/cat/pending_tasks.rb +38 -26
- data/lib/elasticsearch/api/actions/cat/plugins.rb +36 -14
- data/lib/elasticsearch/api/actions/cat/recovery.rb +47 -47
- data/lib/elasticsearch/api/actions/cat/repositories.rb +36 -22
- data/lib/elasticsearch/api/actions/cat/segments.rb +42 -19
- data/lib/elasticsearch/api/actions/cat/shards.rb +45 -50
- data/lib/elasticsearch/api/actions/cat/snapshots.rb +44 -25
- data/lib/elasticsearch/api/actions/cat/tasks.rb +40 -16
- data/lib/elasticsearch/api/actions/cat/templates.rb +43 -16
- data/lib/elasticsearch/api/actions/cat/thread_pool.rb +46 -35
- data/lib/elasticsearch/api/actions/clear_scroll.rb +40 -17
- data/lib/elasticsearch/api/actions/cluster/allocation_explain.rb +38 -11
- data/lib/elasticsearch/api/actions/cluster/delete_component_template.rb +62 -0
- data/lib/elasticsearch/api/actions/cluster/delete_voting_config_exclusions.rb +51 -0
- data/lib/elasticsearch/api/actions/cluster/exists_component_template.rb +63 -0
- data/lib/elasticsearch/api/actions/cluster/get_component_template.rb +64 -0
- data/lib/elasticsearch/api/actions/cluster/get_settings.rb +33 -15
- data/lib/elasticsearch/api/actions/cluster/health.rb +46 -27
- data/lib/elasticsearch/api/actions/cluster/params_registry.rb +20 -4
- data/lib/elasticsearch/api/actions/cluster/pending_tasks.rb +32 -14
- data/lib/elasticsearch/api/actions/cluster/post_voting_config_exclusions.rb +55 -0
- data/lib/elasticsearch/api/actions/cluster/put_component_template.rb +66 -0
- data/lib/elasticsearch/api/actions/cluster/put_settings.rb +35 -15
- data/lib/elasticsearch/api/actions/cluster/remote_info.rb +27 -12
- data/lib/elasticsearch/api/actions/cluster/reroute.rb +38 -33
- data/lib/elasticsearch/api/actions/cluster/state.rb +53 -44
- data/lib/elasticsearch/api/actions/cluster/stats.rb +38 -19
- data/lib/elasticsearch/api/actions/count.rb +60 -36
- data/lib/elasticsearch/api/actions/create.rb +37 -25
- data/lib/elasticsearch/api/actions/dangling_indices/delete_dangling_index.rb +60 -0
- data/lib/elasticsearch/api/actions/dangling_indices/import_dangling_index.rb +60 -0
- data/lib/elasticsearch/api/actions/dangling_indices/list_dangling_indices.rb +43 -0
- data/lib/elasticsearch/api/actions/dangling_indices/params_registry.rb +60 -0
- data/lib/elasticsearch/api/actions/delete.rb +62 -47
- data/lib/elasticsearch/api/actions/delete_by_query.rb +82 -57
- data/lib/elasticsearch/api/actions/delete_by_query_rethrottle.rb +36 -11
- data/lib/elasticsearch/api/actions/delete_by_rethrottle.rb +47 -0
- data/lib/elasticsearch/api/actions/delete_script.rb +37 -12
- data/lib/elasticsearch/api/actions/exists.rb +61 -34
- data/lib/elasticsearch/api/actions/exists_source.rb +60 -24
- data/lib/elasticsearch/api/actions/explain.rb +68 -44
- data/lib/elasticsearch/api/actions/field_caps.rb +49 -19
- data/lib/elasticsearch/api/actions/get.rb +60 -40
- data/lib/elasticsearch/api/actions/get_script.rb +37 -13
- data/lib/elasticsearch/api/actions/get_script_context.rb +45 -0
- data/lib/elasticsearch/api/actions/get_script_languages.rb +45 -0
- data/lib/elasticsearch/api/actions/get_source.rb +57 -38
- data/lib/elasticsearch/api/actions/index.rb +67 -74
- data/lib/elasticsearch/api/actions/indices/add_block.rb +68 -0
- data/lib/elasticsearch/api/actions/indices/analyze.rb +41 -34
- data/lib/elasticsearch/api/actions/indices/clear_cache.rb +44 -41
- data/lib/elasticsearch/api/actions/indices/clone.rb +65 -0
- data/lib/elasticsearch/api/actions/indices/close.rb +41 -21
- data/lib/elasticsearch/api/actions/indices/create.rb +39 -69
- data/lib/elasticsearch/api/actions/indices/delete.rb +41 -34
- data/lib/elasticsearch/api/actions/indices/delete_alias.rb +41 -19
- data/lib/elasticsearch/api/actions/indices/delete_index_template.rb +62 -0
- data/lib/elasticsearch/api/actions/indices/delete_template.rb +36 -20
- data/lib/elasticsearch/api/actions/indices/exists.rb +43 -21
- data/lib/elasticsearch/api/actions/indices/exists_alias.rb +46 -18
- data/lib/elasticsearch/api/actions/indices/exists_index_template.rb +65 -0
- data/lib/elasticsearch/api/actions/indices/exists_template.rb +37 -14
- data/lib/elasticsearch/api/actions/indices/exists_type.rb +42 -17
- data/lib/elasticsearch/api/actions/indices/flush.rb +41 -19
- data/lib/elasticsearch/api/actions/indices/flush_synced.rb +45 -11
- data/lib/elasticsearch/api/actions/indices/forcemerge.rb +42 -40
- data/lib/elasticsearch/api/actions/indices/freeze.rb +24 -7
- data/lib/elasticsearch/api/actions/indices/get.rb +42 -18
- data/lib/elasticsearch/api/actions/indices/get_alias.rb +47 -22
- data/lib/elasticsearch/api/actions/indices/get_field_mapping.rb +59 -37
- data/lib/elasticsearch/api/actions/indices/get_index_template.rb +66 -0
- data/lib/elasticsearch/api/actions/indices/get_mapping.rb +57 -32
- data/lib/elasticsearch/api/actions/indices/get_settings.rb +50 -36
- data/lib/elasticsearch/api/actions/indices/get_template.rb +40 -22
- data/lib/elasticsearch/api/actions/indices/get_upgrade.rb +62 -0
- data/lib/elasticsearch/api/actions/indices/open.rb +40 -20
- data/lib/elasticsearch/api/actions/indices/params_registry.rb +20 -4
- data/lib/elasticsearch/api/actions/indices/put_alias.rb +43 -26
- data/lib/elasticsearch/api/actions/indices/put_index_template.rb +66 -0
- data/lib/elasticsearch/api/actions/indices/put_mapping.rb +58 -40
- data/lib/elasticsearch/api/actions/indices/put_settings.rb +46 -36
- data/lib/elasticsearch/api/actions/indices/put_template.rb +40 -24
- data/lib/elasticsearch/api/actions/indices/recovery.rb +38 -22
- data/lib/elasticsearch/api/actions/indices/refresh.rb +39 -25
- data/lib/elasticsearch/api/actions/indices/resolve_index.rb +60 -0
- data/lib/elasticsearch/api/actions/indices/rollover.rb +47 -18
- data/lib/elasticsearch/api/actions/indices/segments.rb +40 -16
- data/lib/elasticsearch/api/actions/indices/shard_stores.rb +41 -13
- data/lib/elasticsearch/api/actions/indices/shrink.rb +40 -17
- data/lib/elasticsearch/api/actions/indices/simulate_index_template.rb +65 -0
- data/lib/elasticsearch/api/actions/indices/simulate_template.rb +67 -0
- data/lib/elasticsearch/api/actions/indices/split.rb +40 -18
- data/lib/elasticsearch/api/actions/indices/stats.rb +68 -104
- data/lib/elasticsearch/api/actions/indices/unfreeze.rb +24 -7
- data/lib/elasticsearch/api/actions/indices/update_aliases.rb +33 -31
- data/lib/elasticsearch/api/actions/indices/upgrade.rb +42 -14
- data/lib/elasticsearch/api/actions/indices/validate_query.rb +64 -57
- data/lib/elasticsearch/api/actions/info.rb +29 -13
- data/lib/elasticsearch/api/actions/ingest/delete_pipeline.rb +36 -11
- data/lib/elasticsearch/api/actions/ingest/get_pipeline.rb +37 -9
- data/lib/elasticsearch/api/actions/ingest/params_registry.rb +20 -4
- data/lib/elasticsearch/api/actions/ingest/processor_grok.rb +27 -13
- data/lib/elasticsearch/api/actions/ingest/put_pipeline.rb +37 -13
- data/lib/elasticsearch/api/actions/ingest/simulate.rb +39 -10
- data/lib/elasticsearch/api/actions/mget.rb +55 -43
- data/lib/elasticsearch/api/actions/msearch.rb +67 -50
- data/lib/elasticsearch/api/actions/msearch_template.rb +62 -29
- data/lib/elasticsearch/api/actions/mtermvectors.rb +59 -32
- data/lib/elasticsearch/api/actions/nodes/hot_threads.rb +46 -22
- data/lib/elasticsearch/api/actions/nodes/info.rb +43 -40
- data/lib/elasticsearch/api/actions/nodes/params_registry.rb +20 -4
- data/lib/elasticsearch/api/actions/nodes/reload_secure_settings.rb +37 -21
- data/lib/elasticsearch/api/actions/nodes/shutdown.rb +22 -5
- data/lib/elasticsearch/api/actions/nodes/stats.rb +53 -33
- data/lib/elasticsearch/api/actions/nodes/usage.rb +46 -12
- data/lib/elasticsearch/api/actions/params_registry.rb +20 -4
- data/lib/elasticsearch/api/actions/ping.rb +30 -18
- data/lib/elasticsearch/api/actions/put_script.rb +44 -31
- data/lib/elasticsearch/api/actions/rank_eval.rb +49 -16
- data/lib/elasticsearch/api/actions/reindex.rb +45 -48
- data/lib/elasticsearch/api/actions/reindex_rethrottle.rb +36 -11
- data/lib/elasticsearch/api/actions/remote/info.rb +18 -2
- data/lib/elasticsearch/api/actions/render_search_template.rb +41 -15
- data/lib/elasticsearch/api/actions/scripts_painless_execute.rb +38 -14
- data/lib/elasticsearch/api/actions/scroll.rb +51 -51
- data/lib/elasticsearch/api/actions/search.rb +96 -121
- data/lib/elasticsearch/api/actions/search_shards.rb +43 -15
- data/lib/elasticsearch/api/actions/search_template.rb +64 -37
- data/lib/elasticsearch/api/actions/snapshot/cleanup_repository.rb +58 -0
- data/lib/elasticsearch/api/actions/snapshot/clone.rb +66 -0
- data/lib/elasticsearch/api/actions/snapshot/create.rb +39 -26
- data/lib/elasticsearch/api/actions/snapshot/create_repository.rb +37 -23
- data/lib/elasticsearch/api/actions/snapshot/delete.rb +38 -21
- data/lib/elasticsearch/api/actions/snapshot/delete_repository.rb +35 -17
- data/lib/elasticsearch/api/actions/snapshot/get.rb +40 -29
- data/lib/elasticsearch/api/actions/snapshot/get_repository.rb +38 -20
- data/lib/elasticsearch/api/actions/snapshot/params_registry.rb +20 -4
- data/lib/elasticsearch/api/actions/snapshot/restore.rb +39 -31
- data/lib/elasticsearch/api/actions/snapshot/status.rb +41 -21
- data/lib/elasticsearch/api/actions/snapshot/verify_repository.rb +36 -12
- data/lib/elasticsearch/api/actions/tasks/cancel.rb +39 -12
- data/lib/elasticsearch/api/actions/tasks/get.rb +34 -12
- data/lib/elasticsearch/api/actions/tasks/list.rb +35 -16
- data/lib/elasticsearch/api/actions/tasks/params_registry.rb +20 -4
- data/lib/elasticsearch/api/actions/termvectors.rb +71 -65
- data/lib/elasticsearch/api/actions/update.rb +68 -72
- data/lib/elasticsearch/api/actions/update_by_query.rb +84 -62
- data/lib/elasticsearch/api/actions/update_by_query_rethrottle.rb +36 -11
- data/lib/elasticsearch/api/namespace/cat.rb +17 -1
- data/lib/elasticsearch/api/namespace/cluster.rb +17 -0
- data/lib/elasticsearch/api/namespace/common.rb +17 -0
- data/lib/elasticsearch/api/namespace/dangling_indices.rb +35 -0
- data/lib/elasticsearch/api/namespace/indices.rb +17 -0
- data/lib/elasticsearch/api/namespace/ingest.rb +17 -0
- data/lib/elasticsearch/api/namespace/nodes.rb +17 -0
- data/lib/elasticsearch/api/namespace/remote.rb +17 -0
- data/lib/elasticsearch/api/namespace/snapshot.rb +17 -0
- data/lib/elasticsearch/api/namespace/tasks.rb +17 -0
- data/lib/elasticsearch/api/utils.rb +17 -0
- data/lib/elasticsearch/api/version.rb +18 -1
- data/lib/elasticsearch/api.rb +22 -2
- data/lib/elasticsearch-api.rb +17 -0
- data/spec/elasticsearch/api/actions/abort_benchmark_spec.rb +17 -0
- data/spec/elasticsearch/api/actions/benchmark_spec.rb +17 -0
- data/spec/elasticsearch/api/actions/bulk_spec.rb +17 -0
- data/spec/elasticsearch/api/actions/cat/aliases_spec.rb +18 -1
- data/spec/elasticsearch/api/actions/cat/allocation_spec.rb +18 -1
- data/spec/elasticsearch/api/actions/cat/count_spec.rb +18 -1
- data/spec/elasticsearch/api/actions/cat/fielddata_spec.rb +19 -2
- data/spec/elasticsearch/api/actions/cat/health_spec.rb +18 -1
- data/spec/elasticsearch/api/actions/cat/help_spec.rb +18 -1
- data/spec/elasticsearch/api/actions/cat/indices_spec.rb +18 -1
- data/spec/elasticsearch/api/actions/cat/master_spec.rb +18 -1
- data/spec/elasticsearch/api/actions/cat/nodeattrs_spec.rb +18 -1
- data/spec/elasticsearch/api/actions/cat/nodes_spec.rb +18 -1
- data/spec/elasticsearch/api/actions/cat/pending_tasks_spec.rb +18 -1
- data/spec/elasticsearch/api/actions/cat/plugins_spec.rb +18 -1
- data/spec/elasticsearch/api/actions/cat/recovery_spec.rb +18 -1
- data/spec/elasticsearch/api/actions/cat/repositories_spec.rb +18 -1
- data/spec/elasticsearch/api/actions/cat/segments_spec.rb +36 -5
- data/spec/elasticsearch/api/actions/cat/shards_spec.rb +18 -1
- data/spec/elasticsearch/api/actions/cat/snapshot_spec.rb +18 -1
- data/spec/elasticsearch/api/actions/cat/tasks_spec.rb +18 -1
- data/spec/elasticsearch/api/actions/cat/templates_spec.rb +18 -1
- data/spec/elasticsearch/api/actions/cat/thread_pool_spec.rb +18 -1
- data/spec/elasticsearch/api/actions/clear_scroll_spec.rb +21 -2
- data/spec/elasticsearch/api/actions/cluster/allocation_explain_spec.rb +18 -1
- data/spec/elasticsearch/api/actions/cluster/get_settings_spec.rb +18 -1
- data/spec/elasticsearch/api/actions/cluster/health_spec.rb +20 -3
- data/spec/elasticsearch/api/actions/cluster/pending_tasks_spec.rb +18 -1
- data/spec/elasticsearch/api/actions/cluster/put_settings_spec.rb +19 -2
- data/spec/elasticsearch/api/actions/cluster/remote_info_spec.rb +18 -1
- data/spec/elasticsearch/api/actions/cluster/reroute_spec.rb +19 -2
- data/spec/elasticsearch/api/actions/cluster/state_spec.rb +19 -2
- data/spec/elasticsearch/api/actions/cluster/stats_spec.rb +18 -18
- data/spec/elasticsearch/api/actions/count_spec.rb +30 -10
- data/spec/elasticsearch/api/actions/create_document_spec.rb +25 -4
- data/spec/elasticsearch/api/actions/dangling_indices/delete_dangling_indices_spec.rb +48 -0
- data/spec/elasticsearch/api/actions/dangling_indices/import_dangling_indices_spec.rb +48 -0
- data/spec/elasticsearch/api/actions/dangling_indices/list_dangling_indices_spec.rb +36 -0
- data/spec/elasticsearch/api/actions/delete_by_query_spec.rb +33 -8
- data/spec/elasticsearch/api/actions/delete_document_spec.rb +21 -8
- data/spec/elasticsearch/api/actions/delete_script_spec.rb +19 -15
- data/spec/elasticsearch/api/actions/exists_document_spec.rb +20 -2
- data/spec/elasticsearch/api/actions/explain_document_spec.rb +26 -15
- data/spec/elasticsearch/api/actions/field_caps_spec.rb +19 -1
- data/spec/elasticsearch/api/actions/get_document_source_spec.rb +24 -4
- data/spec/elasticsearch/api/actions/get_document_spec.rb +20 -2
- data/spec/elasticsearch/api/actions/get_script_spec.rb +25 -14
- data/spec/elasticsearch/api/actions/hashie_spec.rb +17 -0
- data/spec/elasticsearch/api/actions/index_document_spec.rb +25 -22
- data/spec/elasticsearch/api/actions/indices/add_block_spec.rb +63 -0
- data/spec/elasticsearch/api/actions/indices/analyze_spec.rb +24 -12
- data/spec/elasticsearch/api/actions/indices/clear_cache_spec.rb +8 -8
- data/spec/elasticsearch/api/actions/indices/clone_spec.rb +122 -0
- data/spec/elasticsearch/api/actions/indices/close_spec.rb +18 -1
- data/spec/elasticsearch/api/actions/indices/create_spec.rb +18 -1
- data/spec/elasticsearch/api/actions/indices/delete_alias_spec.rb +20 -3
- data/spec/elasticsearch/api/actions/indices/delete_spec.rb +18 -1
- data/spec/elasticsearch/api/actions/indices/delete_template_spec.rb +18 -1
- data/spec/elasticsearch/api/actions/indices/exists_alias_spec.rb +18 -1
- data/spec/elasticsearch/api/actions/indices/exists_spec.rb +18 -1
- data/spec/elasticsearch/api/actions/indices/exists_template_spec.rb +18 -1
- data/spec/elasticsearch/api/actions/indices/exists_type_spec.rb +18 -1
- data/spec/elasticsearch/api/actions/indices/flush_spec.rb +18 -1
- data/spec/elasticsearch/api/actions/indices/flush_synced_spec.rb +18 -1
- data/spec/elasticsearch/api/actions/indices/forcemerge_spec.rb +18 -1
- data/spec/elasticsearch/api/actions/indices/freeze_spec.rb +85 -0
- data/spec/elasticsearch/api/actions/indices/get_alias_spec.rb +18 -1
- data/spec/elasticsearch/api/actions/indices/get_field_mapping_spec.rb +18 -1
- data/spec/elasticsearch/api/actions/indices/get_mapping_spec.rb +18 -1
- data/spec/elasticsearch/api/actions/indices/get_settings_spec.rb +18 -1
- data/spec/elasticsearch/api/actions/indices/get_spec.rb +18 -12
- data/spec/elasticsearch/api/actions/indices/open_spec.rb +18 -1
- data/spec/elasticsearch/api/actions/indices/put_alias_spec.rb +21 -4
- data/spec/elasticsearch/api/actions/indices/put_mapping_spec.rb +21 -4
- data/spec/elasticsearch/api/actions/indices/put_settings_spec.rb +33 -1
- data/spec/elasticsearch/api/actions/indices/put_template_spec.rb +18 -1
- data/spec/elasticsearch/api/actions/indices/recovery_spec.rb +18 -1
- data/spec/elasticsearch/api/actions/indices/refresh_spec.rb +18 -1
- data/spec/elasticsearch/api/actions/indices/rollover_spec.rb +18 -1
- data/spec/elasticsearch/api/actions/indices/segments_spec.rb +18 -1
- data/spec/elasticsearch/api/actions/indices/shard_stores_spec.rb +18 -1
- data/spec/elasticsearch/api/actions/indices/shrink_spec.rb +18 -1
- data/spec/elasticsearch/api/actions/indices/split_spec.rb +18 -1
- data/spec/elasticsearch/api/actions/indices/stats_spec.rb +124 -0
- data/spec/elasticsearch/api/actions/indices/unfreeze_spec.rb +85 -0
- data/spec/elasticsearch/api/actions/indices/update_aliases_spec.rb +18 -1
- data/spec/elasticsearch/api/actions/indices/upgrade_spec.rb +18 -1
- data/spec/elasticsearch/api/actions/indices/validate_query_spec.rb +24 -13
- data/spec/elasticsearch/api/actions/info_spec.rb +19 -1
- data/spec/elasticsearch/api/actions/ingest/delete_pipeline_spec.rb +18 -1
- data/spec/elasticsearch/api/actions/ingest/get_pipeline_spec.rb +18 -1
- data/spec/elasticsearch/api/actions/ingest/put_pipeline_spec.rb +18 -1
- data/spec/elasticsearch/api/actions/ingest/simulate_spec.rb +23 -7
- data/spec/elasticsearch/api/actions/json_builders_spec.rb +27 -11
- data/spec/elasticsearch/api/actions/mget_spec.rb +22 -5
- data/spec/elasticsearch/api/actions/msearch_spec.rb +38 -39
- data/spec/elasticsearch/api/actions/msearch_template_spec.rb +22 -6
- data/spec/elasticsearch/api/actions/mtermvectors_spec.rb +24 -6
- data/spec/elasticsearch/api/actions/nodes/hot_threads_spec.rb +21 -4
- data/spec/elasticsearch/api/actions/nodes/info_spec.rb +18 -1
- data/spec/elasticsearch/api/actions/nodes/reload_secure_settings_spec.rb +24 -10
- data/spec/elasticsearch/api/actions/nodes/shutdown_spec.rb +17 -0
- data/spec/elasticsearch/api/actions/nodes/stats_spec.rb +18 -1
- data/spec/elasticsearch/api/actions/ping_spec.rb +20 -2
- data/spec/elasticsearch/api/actions/put_script_spec.rb +39 -15
- data/spec/elasticsearch/api/actions/reindex_spec.rb +20 -2
- data/spec/elasticsearch/api/actions/remote/info_spec.rb +17 -0
- data/spec/elasticsearch/api/actions/render_search_template_spec.rb +44 -9
- data/spec/elasticsearch/api/actions/scroll_spec.rb +52 -0
- data/spec/elasticsearch/api/actions/search_shards_spec.rb +20 -2
- data/spec/elasticsearch/api/actions/search_spec.rb +24 -6
- data/spec/elasticsearch/api/actions/search_template_spec.rb +22 -5
- data/spec/elasticsearch/api/actions/snapshot/clone_spec.rb +67 -0
- data/spec/elasticsearch/api/actions/snapshot/create_repository_spec.rb +18 -1
- data/spec/elasticsearch/api/actions/snapshot/create_spec.rb +18 -1
- data/spec/elasticsearch/api/actions/snapshot/delete_repository_spec.rb +18 -1
- data/spec/elasticsearch/api/actions/snapshot/delete_spec.rb +18 -1
- data/spec/elasticsearch/api/actions/snapshot/get_repository_spec.rb +18 -1
- data/spec/elasticsearch/api/actions/snapshot/get_spec.rb +18 -1
- data/spec/elasticsearch/api/actions/snapshot/restore_spec.rb +18 -1
- data/spec/elasticsearch/api/actions/snapshot/status_spec.rb +18 -1
- data/spec/elasticsearch/api/actions/snapshot/verify_repository_spec.rb +18 -1
- data/spec/elasticsearch/api/actions/tasks/cancel_spec.rb +18 -1
- data/spec/elasticsearch/api/actions/tasks/get_spec.rb +18 -1
- data/spec/elasticsearch/api/actions/tasks/list_spec.rb +18 -12
- data/spec/elasticsearch/api/actions/termvectors_spec.rb +22 -12
- data/spec/elasticsearch/api/actions/update_by_query_spec.rb +20 -2
- data/spec/elasticsearch/api/actions/update_document_spec.rb +22 -14
- data/spec/elasticsearch/api/api_spec.rb +17 -0
- data/spec/elasticsearch/api/client_spec.rb +17 -0
- data/spec/elasticsearch/api/rest_api_yaml_spec.rb +138 -0
- data/spec/elasticsearch/api/utils_spec.rb +18 -1
- data/spec/rest_yaml_tests_helper.rb +107 -0
- data/spec/spec_helper.rb +33 -34
- data/utils/Gemfile +18 -0
- data/utils/README.md +41 -0
- data/utils/Thorfile +4 -1
- data/utils/thor/.rubocop.yml +2 -0
- data/utils/thor/generate_source.rb +248 -81
- data/utils/thor/generator/endpoint_specifics.rb +181 -0
- data/utils/thor/generator/files_helper.rb +60 -0
- data/utils/thor/lister.rb +20 -4
- data/utils/thor/templates/_documentation_top.erb +39 -0
- data/utils/thor/templates/_method_setup.erb +35 -0
- data/utils/thor/templates/_params_registry.erb +12 -0
- data/utils/thor/templates/_perform_request.erb +38 -0
- data/utils/thor/templates/method.erb +73 -0
- data/utils/thor/templates/{ruby/test.erb → test.erb} +4 -0
- data/utils/thor/templates/{ruby/test_helper.rb → test_helper.rb} +17 -1
- metadata +123 -124
- data/LICENSE.txt +0 -13
- data/lib/elasticsearch/api/actions/count_percolate.rb +0 -82
- data/lib/elasticsearch/api/actions/delete_template.rb +0 -21
- data/lib/elasticsearch/api/actions/field_stats.rb +0 -36
- data/lib/elasticsearch/api/actions/get_template.rb +0 -27
- data/lib/elasticsearch/api/actions/indices/delete_mapping.rb +0 -26
- data/lib/elasticsearch/api/actions/indices/delete_warmer.rb +0 -32
- data/lib/elasticsearch/api/actions/indices/get_aliases.rb +0 -37
- data/lib/elasticsearch/api/actions/indices/get_warmer.rb +0 -62
- data/lib/elasticsearch/api/actions/indices/optimize.rb +0 -77
- data/lib/elasticsearch/api/actions/indices/put_warmer.rb +0 -65
- data/lib/elasticsearch/api/actions/indices/seal.rb +0 -24
- data/lib/elasticsearch/api/actions/indices/snapshot_index.rb +0 -44
- data/lib/elasticsearch/api/actions/indices/status.rb +0 -63
- data/lib/elasticsearch/api/actions/list_benchmarks.rb +0 -27
- data/lib/elasticsearch/api/actions/mlt.rb +0 -130
- data/lib/elasticsearch/api/actions/mpercolate.rb +0 -62
- data/lib/elasticsearch/api/actions/percolate.rb +0 -73
- data/lib/elasticsearch/api/actions/put_template.rb +0 -25
- data/lib/elasticsearch/api/actions/search_exists.rb +0 -63
- data/lib/elasticsearch/api/actions/suggest.rb +0 -49
- data/spec/elasticsearch/api/actions/count_percolate_spec.rb +0 -17
- data/spec/elasticsearch/api/actions/delete_template_spec.rb +0 -17
- data/spec/elasticsearch/api/actions/field_stats_spec.rb +0 -17
- data/spec/elasticsearch/api/actions/get_template_spec.rb +0 -52
- data/spec/elasticsearch/api/actions/indices/delete_mapping_spec.rb +0 -77
- data/spec/elasticsearch/api/actions/indices/delete_warmer_spec.rb +0 -86
- data/spec/elasticsearch/api/actions/indices/get_aliases_spec.rb +0 -55
- data/spec/elasticsearch/api/actions/indices/get_template_spec.rb +0 -59
- data/spec/elasticsearch/api/actions/indices/get_warmer_spec.rb +0 -48
- data/spec/elasticsearch/api/actions/indices/optimize_spec.rb +0 -63
- data/spec/elasticsearch/api/actions/indices/put_warmer_spec.rb +0 -101
- data/spec/elasticsearch/api/actions/indices/seal_spec.rb +0 -18
- data/spec/elasticsearch/api/actions/indices/snapshot_index_spec.rb +0 -89
- data/spec/elasticsearch/api/actions/indices/status_spec.rb +0 -92
- data/spec/elasticsearch/api/actions/list_benchmarks_spec.rb +0 -17
- data/spec/elasticsearch/api/actions/mlt_spec.rb +0 -130
- data/spec/elasticsearch/api/actions/mpercolate_spec.rb +0 -49
- data/spec/elasticsearch/api/actions/percolate_spec.rb +0 -67
- data/spec/elasticsearch/api/actions/put_template_spec.rb +0 -17
- data/spec/elasticsearch/api/actions/scoll_spec.rb +0 -17
- data/spec/elasticsearch/api/actions/search_exists_spec.rb +0 -63
- data/spec/elasticsearch/api/actions/suggest_spec.rb +0 -77
- data/test/integration/yaml_test_runner.rb +0 -546
- data/test/test_helper.rb +0 -42
- data/utils/thor/generate_api.rb +0 -189
- data/utils/thor/templates/ruby/method.erb +0 -60
@@ -1,28 +1,54 @@
|
|
1
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
2
|
+
# license agreements. See the NOTICE file distributed with
|
3
|
+
# this work for additional information regarding copyright
|
4
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
5
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
6
|
+
# not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing,
|
12
|
+
# software distributed under the License is distributed on an
|
13
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
14
|
+
# KIND, either express or implied. See the License for the
|
15
|
+
# specific language governing permissions and limitations
|
16
|
+
# under the License.
|
17
|
+
|
1
18
|
module Elasticsearch
|
2
19
|
module API
|
3
20
|
module Actions
|
4
|
-
|
5
|
-
# Pre-render search requests before they are executed and fill existing templates with template parameters
|
21
|
+
# Allows to use the Mustache language to pre-render a search definition.
|
6
22
|
#
|
7
23
|
# @option arguments [String] :id The id of the stored search template
|
24
|
+
# @option arguments [Hash] :headers Custom HTTP headers
|
8
25
|
# @option arguments [Hash] :body The search definition template and its params
|
9
26
|
#
|
10
|
-
# @see
|
27
|
+
# @see https://www.elastic.co/guide/en/elasticsearch/reference/7.10/search-template.html#_validating_templates
|
11
28
|
#
|
12
|
-
def render_search_template(arguments={})
|
13
|
-
|
14
|
-
path = "_render/template"
|
15
|
-
params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
|
16
|
-
body = arguments[:body]
|
29
|
+
def render_search_template(arguments = {})
|
30
|
+
headers = arguments.delete(:headers) || {}
|
17
31
|
|
18
|
-
|
19
|
-
end
|
32
|
+
arguments = arguments.clone
|
20
33
|
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
34
|
+
_id = arguments.delete(:id)
|
35
|
+
|
36
|
+
method = if arguments[:body]
|
37
|
+
Elasticsearch::API::HTTP_POST
|
38
|
+
else
|
39
|
+
Elasticsearch::API::HTTP_GET
|
40
|
+
end
|
41
|
+
|
42
|
+
path = if _id
|
43
|
+
"_render/template/#{Utils.__listify(_id)}"
|
44
|
+
else
|
45
|
+
"_render/template"
|
46
|
+
end
|
47
|
+
params = {}
|
48
|
+
|
49
|
+
body = arguments[:body]
|
50
|
+
perform_request(method, path, params, body, headers).body
|
51
|
+
end
|
26
52
|
end
|
27
53
|
end
|
28
54
|
end
|
@@ -1,27 +1,51 @@
|
|
1
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
2
|
+
# license agreements. See the NOTICE file distributed with
|
3
|
+
# this work for additional information regarding copyright
|
4
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
5
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
6
|
+
# not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing,
|
12
|
+
# software distributed under the License is distributed on an
|
13
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
14
|
+
# KIND, either express or implied. See the License for the
|
15
|
+
# specific language governing permissions and limitations
|
16
|
+
# under the License.
|
17
|
+
|
1
18
|
module Elasticsearch
|
2
19
|
module API
|
3
20
|
module Actions
|
4
|
-
|
5
|
-
#
|
21
|
+
# Allows an arbitrary script to be executed and a result to be returned
|
22
|
+
# This functionality is Experimental and may be changed or removed
|
23
|
+
# completely in a future release. Elastic will take a best effort approach
|
24
|
+
# to fix any issues, but experimental features are not subject to the
|
25
|
+
# support SLA of official GA features.
|
6
26
|
#
|
27
|
+
# @option arguments [Hash] :headers Custom HTTP headers
|
7
28
|
# @option arguments [Hash] :body The script to execute
|
8
29
|
#
|
9
|
-
# @see https://www.elastic.co/guide/en/elasticsearch/painless/
|
30
|
+
# @see https://www.elastic.co/guide/en/elasticsearch/painless/7.10/painless-execute-api.html
|
10
31
|
#
|
11
|
-
def scripts_painless_execute(arguments={})
|
12
|
-
|
13
|
-
|
32
|
+
def scripts_painless_execute(arguments = {})
|
33
|
+
headers = arguments.delete(:headers) || {}
|
34
|
+
|
35
|
+
arguments = arguments.clone
|
36
|
+
|
37
|
+
method = if arguments[:body]
|
38
|
+
Elasticsearch::API::HTTP_POST
|
39
|
+
else
|
40
|
+
Elasticsearch::API::HTTP_GET
|
41
|
+
end
|
42
|
+
|
43
|
+
path = "_scripts/painless/_execute"
|
14
44
|
params = {}
|
15
|
-
body = arguments[:body]
|
16
45
|
|
17
|
-
|
46
|
+
body = arguments[:body]
|
47
|
+
perform_request(method, path, params, body, headers).body
|
18
48
|
end
|
19
|
-
|
20
|
-
# Register this action with its valid params when the module is loaded.
|
21
|
-
#
|
22
|
-
# @since 6.2.0
|
23
|
-
ParamsRegistry.register(:scripts_painless_execute, [
|
24
|
-
].freeze)
|
25
49
|
end
|
26
50
|
end
|
27
51
|
end
|
@@ -1,70 +1,70 @@
|
|
1
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
2
|
+
# license agreements. See the NOTICE file distributed with
|
3
|
+
# this work for additional information regarding copyright
|
4
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
5
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
6
|
+
# not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing,
|
12
|
+
# software distributed under the License is distributed on an
|
13
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
14
|
+
# KIND, either express or implied. See the License for the
|
15
|
+
# specific language governing permissions and limitations
|
16
|
+
# under the License.
|
17
|
+
|
1
18
|
module Elasticsearch
|
2
19
|
module API
|
3
20
|
module Actions
|
4
|
-
|
5
|
-
# Efficiently iterate over a large result set.
|
6
|
-
#
|
7
|
-
# When using `from` and `size` to return a large result sets, performance drops as you "paginate" in the set,
|
8
|
-
# and you can't guarantee the consistency when the index is being updated at the same time.
|
9
|
-
#
|
10
|
-
# The "Scroll" API uses a "point in time" snapshot of the index state, which was created via a "Search" API
|
11
|
-
# request specifying the `scroll` parameter.
|
12
|
-
#
|
13
|
-
# @example A basic example
|
14
|
-
#
|
15
|
-
# result = client.search index: 'scrollindex',
|
16
|
-
# scroll: '5m',
|
17
|
-
# body: { query: { match: { title: 'test' } }, sort: '_id' }
|
18
|
-
#
|
19
|
-
# result = client.scroll scroll: '5m', body: { scroll_id: result['_scroll_id'] }
|
20
|
-
#
|
21
|
-
# @example Call the `scroll` API until all the documents are returned
|
22
|
-
#
|
23
|
-
# # Index 1,000 documents
|
24
|
-
# client.indices.delete index: 'test'
|
25
|
-
# 1_000.times do |i| client.index index: 'test', type: 'test', id: i+1, body: {title: "Test #{i+1}"} end
|
26
|
-
# client.indices.refresh index: 'test'
|
21
|
+
# Allows to retrieve a large numbers of results from a single search request.
|
27
22
|
#
|
28
|
-
#
|
29
|
-
#
|
30
|
-
#
|
31
|
-
#
|
32
|
-
#
|
33
|
-
# puts "--- BATCH 0 -------------------------------------------------"
|
34
|
-
# puts r['hits']['hits'].map { |d| d['_source']['title'] }.inspect
|
23
|
+
# @option arguments [String] :scroll_id The scroll ID *Deprecated*
|
24
|
+
# @option arguments [Time] :scroll Specify how long a consistent view of the index should be maintained for scrolled search
|
25
|
+
# @option arguments [Boolean] :rest_total_hits_as_int Indicates whether hits.total should be rendered as an integer or an object in the rest search response
|
26
|
+
# @option arguments [Hash] :headers Custom HTTP headers
|
27
|
+
# @option arguments [Hash] :body The scroll ID if not passed by URL or query parameter.
|
35
28
|
#
|
36
|
-
#
|
37
|
-
#
|
38
|
-
#
|
39
|
-
# puts r['hits']['hits'].map { |d| d['_source']['title'] }.inspect
|
40
|
-
# puts
|
41
|
-
# end
|
29
|
+
# *Deprecation notice*:
|
30
|
+
# A scroll id can be quite large and should be specified as part of the body
|
31
|
+
# Deprecated since version 7.0.0
|
42
32
|
#
|
43
|
-
# @option arguments [String] :scroll_id The scroll ID
|
44
|
-
# @option arguments [Hash] :body The scroll ID if not passed by URL or query parameter.
|
45
|
-
# @option arguments [Time] :scroll Specify how long a consistent view of the index should be maintained for scrolled search
|
46
|
-
# @option arguments [String] :scroll_id The scroll ID for scrolled search
|
47
|
-
# @option arguments [Boolean] :rest_total_hits_as_int This parameter is ignored in this version. It is used in the next major version to control whether the rest response should render the total.hits as an object or a number
|
48
33
|
#
|
49
|
-
# @see
|
50
|
-
# @see https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-scroll.html
|
34
|
+
# @see https://www.elastic.co/guide/en/elasticsearch/reference/7.10/search-request-body.html#request-body-search-scroll
|
51
35
|
#
|
52
|
-
def scroll(arguments={})
|
53
|
-
|
54
|
-
|
36
|
+
def scroll(arguments = {})
|
37
|
+
headers = arguments.delete(:headers) || {}
|
38
|
+
|
39
|
+
arguments = arguments.clone
|
40
|
+
|
41
|
+
_scroll_id = arguments.delete(:scroll_id)
|
42
|
+
|
43
|
+
method = if arguments[:body]
|
44
|
+
Elasticsearch::API::HTTP_POST
|
45
|
+
else
|
46
|
+
Elasticsearch::API::HTTP_GET
|
47
|
+
end
|
48
|
+
|
49
|
+
path = if _scroll_id
|
50
|
+
"_search/scroll/#{Utils.__listify(_scroll_id)}"
|
51
|
+
else
|
52
|
+
"_search/scroll"
|
53
|
+
end
|
55
54
|
params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
|
56
|
-
body = arguments[:body]
|
57
55
|
|
58
|
-
|
56
|
+
body = arguments[:body]
|
57
|
+
perform_request(method, path, params, body, headers).body
|
59
58
|
end
|
60
59
|
|
61
60
|
# Register this action with its valid params when the module is loaded.
|
62
61
|
#
|
63
62
|
# @since 6.2.0
|
64
63
|
ParamsRegistry.register(:scroll, [
|
65
|
-
|
66
|
-
|
67
|
-
|
64
|
+
:scroll,
|
65
|
+
:scroll_id,
|
66
|
+
:rest_total_hits_as_int
|
67
|
+
].freeze)
|
68
68
|
end
|
69
69
|
end
|
70
70
|
end
|
@@ -1,73 +1,30 @@
|
|
1
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
2
|
+
# license agreements. See the NOTICE file distributed with
|
3
|
+
# this work for additional information regarding copyright
|
4
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
5
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
6
|
+
# not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing,
|
12
|
+
# software distributed under the License is distributed on an
|
13
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
14
|
+
# KIND, either express or implied. See the License for the
|
15
|
+
# specific language governing permissions and limitations
|
16
|
+
# under the License.
|
17
|
+
|
1
18
|
module Elasticsearch
|
2
19
|
module API
|
3
20
|
module Actions
|
4
|
-
|
5
|
-
# Return documents matching a query, as well as aggregations (facets), highlighted snippets, suggestions, etc.
|
6
|
-
#
|
7
|
-
# The search API is used to query one or more indices either using simple
|
8
|
-
# [query string queries](http://www.elasticsearch.org/guide/reference/api/search/uri-request/)
|
9
|
-
# as the `:q` argument , or by passing the
|
10
|
-
# [full request definition](http://www.elasticsearch.org/guide/reference/api/search/request-body/)
|
11
|
-
# in the [Query DSL](http://www.elasticsearch.org/guide/reference/query-dsl/) as the `:body` argument.
|
12
|
-
#
|
13
|
-
# @example Search with a simple query string query
|
14
|
-
#
|
15
|
-
# client.search index: 'myindex', q: 'title:test'
|
16
|
-
#
|
17
|
-
# @example Passing a full request definition in the Elasticsearch's Query DSL as a `Hash`
|
18
|
-
#
|
19
|
-
# client.search index: 'myindex',
|
20
|
-
# body: {
|
21
|
-
# query: { match: { title: 'test' } },
|
22
|
-
# aggregations: { tags: { terms: { field: 'tags' } } }
|
23
|
-
# }
|
24
|
-
#
|
25
|
-
# @example Paginating results: return 10 documents, beginning from the 10th
|
26
|
-
#
|
27
|
-
# client.search index: 'myindex',
|
28
|
-
# body: {
|
29
|
-
# query: { match: { title: 'test' } },
|
30
|
-
# from: 10,
|
31
|
-
# size: 10
|
32
|
-
# }
|
33
|
-
#
|
34
|
-
# @example Passing the search definition as a `String`, built with a JSON builder
|
35
|
-
#
|
36
|
-
# require 'jbuilder'
|
37
|
-
#
|
38
|
-
# json = Jbuilder.encode do |json|
|
39
|
-
# json.query do
|
40
|
-
# json.match do
|
41
|
-
# json.title do
|
42
|
-
# json.query 'test 1'
|
43
|
-
# json.operator 'and'
|
44
|
-
# end
|
45
|
-
# end
|
46
|
-
# end
|
47
|
-
# end
|
48
|
-
#
|
49
|
-
# client.search index: 'myindex', body: json
|
50
|
-
#
|
51
|
-
# @example Wrapping the result in [`Hashie::Mash`](https://github.com/intridea/hashie) for easier access
|
52
|
-
#
|
53
|
-
# response = client.search index: 'myindex',
|
54
|
-
# body: {
|
55
|
-
# query: { match: { title: 'test' } },
|
56
|
-
# aggregations: { tags: { terms: { field: 'tags' } } }
|
57
|
-
# }
|
58
|
-
#
|
59
|
-
# response = Hashie::Mash.new response
|
60
|
-
#
|
61
|
-
# response.hits.hits.first._source.title
|
62
|
-
#
|
63
|
-
# response.aggregations.tags.terms.to_a.map { |f| "#{f.term} [#{f.count}]" }.join(', ')
|
64
|
-
#
|
21
|
+
# Returns results matching a query.
|
65
22
|
#
|
66
23
|
# @option arguments [List] :index A comma-separated list of index names to search; use `_all` or empty string to perform the operation on all indices
|
67
24
|
# @option arguments [List] :type A comma-separated list of document types to search; leave empty to perform the operation on all types
|
68
|
-
# @option arguments [Hash] :body The search definition using the Query DSL
|
69
25
|
# @option arguments [String] :analyzer The analyzer to use for the query string
|
70
26
|
# @option arguments [Boolean] :analyze_wildcard Specify whether wildcard and prefix queries should be analyzed (default: false)
|
27
|
+
# @option arguments [Boolean] :ccs_minimize_roundtrips Indicates whether network round-trips should be minimized as part of cross-cluster search requests execution
|
71
28
|
# @option arguments [String] :default_operator The default operator for query string query (AND or OR) (options: AND, OR)
|
72
29
|
# @option arguments [String] :df The field to use as default where no field prefix is given in the query string
|
73
30
|
# @option arguments [Boolean] :explain Specify whether to return detailed information about score computation as part of a hit
|
@@ -77,7 +34,7 @@ module Elasticsearch
|
|
77
34
|
# @option arguments [Boolean] :ignore_unavailable Whether specified concrete indices should be ignored when unavailable (missing or closed)
|
78
35
|
# @option arguments [Boolean] :ignore_throttled Whether specified concrete, expanded or aliased indices should be ignored when throttled
|
79
36
|
# @option arguments [Boolean] :allow_no_indices Whether to ignore if a wildcard indices expression resolves into no concrete indices. (This includes `_all` string or when no indices have been specified)
|
80
|
-
# @option arguments [String] :expand_wildcards Whether to expand wildcard expression to concrete indices that are open, closed or both. (options: open, closed, none, all)
|
37
|
+
# @option arguments [String] :expand_wildcards Whether to expand wildcard expression to concrete indices that are open, closed or both. (options: open, closed, hidden, none, all)
|
81
38
|
# @option arguments [Boolean] :lenient Specify whether format-based query failures (such as providing text to a numeric field) should be ignored
|
82
39
|
# @option arguments [String] :preference Specify the node or shard the operation should be performed on (default: random)
|
83
40
|
# @option arguments [String] :q Query in the Lucene query string syntax
|
@@ -101,80 +58,98 @@ module Elasticsearch
|
|
101
58
|
# @option arguments [Boolean] :allow_partial_search_results Indicate if an error should be returned if there is a partial search failure or timeout
|
102
59
|
# @option arguments [Boolean] :typed_keys Specify whether aggregation and suggester names should be prefixed by their respective types in the response
|
103
60
|
# @option arguments [Boolean] :version Specify whether to return document version as part of a hit
|
61
|
+
# @option arguments [Boolean] :seq_no_primary_term Specify whether to return sequence number and primary term of the last modification of each hit
|
104
62
|
# @option arguments [Boolean] :request_cache Specify if request cache should be used for this request or not, defaults to index level setting
|
105
63
|
# @option arguments [Number] :batched_reduce_size The number of shard results that should be reduced at once on the coordinating node. This value should be used as a protection mechanism to reduce the memory overhead per search request if the potential number of shards in the request can be large.
|
106
|
-
# @option arguments [Number] :max_concurrent_shard_requests The number of concurrent shard requests this search executes concurrently. This value should be used to limit the impact of the search on the cluster in order to limit the number of concurrent shard requests
|
107
|
-
# @option arguments [Number] :pre_filter_shard_size A threshold that enforces a pre-filter roundtrip to prefilter search shards based on query rewriting if the number of shards the search request expands to exceeds the threshold. This filter roundtrip can limit the number of shards significantly if for instance a shard can not match any documents based on
|
108
|
-
# @option arguments [Boolean] :rest_total_hits_as_int
|
64
|
+
# @option arguments [Number] :max_concurrent_shard_requests The number of concurrent shard requests per node this search executes concurrently. This value should be used to limit the impact of the search on the cluster in order to limit the number of concurrent shard requests
|
65
|
+
# @option arguments [Number] :pre_filter_shard_size A threshold that enforces a pre-filter roundtrip to prefilter search shards based on query rewriting if the number of shards the search request expands to exceeds the threshold. This filter roundtrip can limit the number of shards significantly if for instance a shard can not match any documents based on its rewrite method ie. if date filters are mandatory to match but the shard bounds and the query are disjoint.
|
66
|
+
# @option arguments [Boolean] :rest_total_hits_as_int Indicates whether hits.total should be rendered as an integer or an object in the rest search response
|
67
|
+
# @option arguments [Hash] :headers Custom HTTP headers
|
68
|
+
# @option arguments [Hash] :body The search definition using the Query DSL
|
69
|
+
#
|
70
|
+
# *Deprecation notice*:
|
71
|
+
# Specifying types in urls has been deprecated
|
72
|
+
# Deprecated since version 7.0.0
|
109
73
|
#
|
110
|
-
# @return [Hash]
|
111
74
|
#
|
112
|
-
# @see
|
113
|
-
# @see http://www.elasticsearch.org/guide/reference/api/search/request-body/
|
75
|
+
# @see https://www.elastic.co/guide/en/elasticsearch/reference/7.10/search-search.html
|
114
76
|
#
|
115
|
-
def search(arguments={})
|
116
|
-
|
117
|
-
method = HTTP_GET
|
118
|
-
path = Utils.__pathify( Utils.__listify(arguments[:index]), Utils.__listify(arguments[:type]), UNDERSCORE_SEARCH )
|
77
|
+
def search(arguments = {})
|
78
|
+
headers = arguments.delete(:headers) || {}
|
119
79
|
|
120
|
-
|
80
|
+
arguments = arguments.clone
|
81
|
+
arguments[:index] = UNDERSCORE_ALL if !arguments[:index] && arguments[:type]
|
82
|
+
|
83
|
+
_index = arguments.delete(:index)
|
121
84
|
|
122
|
-
|
85
|
+
_type = arguments.delete(:type)
|
123
86
|
|
124
|
-
|
125
|
-
|
87
|
+
method = if arguments[:body]
|
88
|
+
Elasticsearch::API::HTTP_POST
|
89
|
+
else
|
90
|
+
Elasticsearch::API::HTTP_GET
|
91
|
+
end
|
126
92
|
|
127
|
-
|
128
|
-
|
93
|
+
path = if _index && _type
|
94
|
+
"#{Utils.__listify(_index)}/#{Utils.__listify(_type)}/_search"
|
95
|
+
elsif _index
|
96
|
+
"#{Utils.__listify(_index)}/_search"
|
97
|
+
else
|
98
|
+
"_search"
|
99
|
+
end
|
100
|
+
params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
|
129
101
|
|
130
|
-
|
102
|
+
body = arguments[:body]
|
103
|
+
perform_request(method, path, params, body, headers).body
|
131
104
|
end
|
132
105
|
|
133
106
|
# Register this action with its valid params when the module is loaded.
|
134
107
|
#
|
135
108
|
# @since 6.2.0
|
136
109
|
ParamsRegistry.register(:search, [
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
110
|
+
:analyzer,
|
111
|
+
:analyze_wildcard,
|
112
|
+
:ccs_minimize_roundtrips,
|
113
|
+
:default_operator,
|
114
|
+
:df,
|
115
|
+
:explain,
|
116
|
+
:stored_fields,
|
117
|
+
:docvalue_fields,
|
118
|
+
:from,
|
119
|
+
:ignore_unavailable,
|
120
|
+
:ignore_throttled,
|
121
|
+
:allow_no_indices,
|
122
|
+
:expand_wildcards,
|
123
|
+
:lenient,
|
124
|
+
:preference,
|
125
|
+
:q,
|
126
|
+
:routing,
|
127
|
+
:scroll,
|
128
|
+
:search_type,
|
129
|
+
:size,
|
130
|
+
:sort,
|
131
|
+
:_source,
|
132
|
+
:_source_excludes,
|
133
|
+
:_source_includes,
|
134
|
+
:terminate_after,
|
135
|
+
:stats,
|
136
|
+
:suggest_field,
|
137
|
+
:suggest_mode,
|
138
|
+
:suggest_size,
|
139
|
+
:suggest_text,
|
140
|
+
:timeout,
|
141
|
+
:track_scores,
|
142
|
+
:track_total_hits,
|
143
|
+
:allow_partial_search_results,
|
144
|
+
:typed_keys,
|
145
|
+
:version,
|
146
|
+
:seq_no_primary_term,
|
147
|
+
:request_cache,
|
148
|
+
:batched_reduce_size,
|
149
|
+
:max_concurrent_shard_requests,
|
150
|
+
:pre_filter_shard_size,
|
151
|
+
:rest_total_hits_as_int
|
152
|
+
].freeze)
|
178
153
|
end
|
179
154
|
end
|
180
155
|
end
|
@@ -1,8 +1,24 @@
|
|
1
|
+
# Licensed to Elasticsearch B.V. under one or more contributor
|
2
|
+
# license agreements. See the NOTICE file distributed with
|
3
|
+
# this work for additional information regarding copyright
|
4
|
+
# ownership. Elasticsearch B.V. licenses this file to you under
|
5
|
+
# the Apache License, Version 2.0 (the "License"); you may
|
6
|
+
# not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing,
|
12
|
+
# software distributed under the License is distributed on an
|
13
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
14
|
+
# KIND, either express or implied. See the License for the
|
15
|
+
# specific language governing permissions and limitations
|
16
|
+
# under the License.
|
17
|
+
|
1
18
|
module Elasticsearch
|
2
19
|
module API
|
3
20
|
module Actions
|
4
|
-
|
5
|
-
# Returns the names of indices and shards on which a search request would be executed
|
21
|
+
# Returns information about the indices and shards that a search request would be executed against.
|
6
22
|
#
|
7
23
|
# @option arguments [List] :index A comma-separated list of index names to search; use `_all` or empty string to perform the operation on all indices
|
8
24
|
# @option arguments [String] :preference Specify the node or shard the operation should be performed on (default: random)
|
@@ -10,29 +26,41 @@ module Elasticsearch
|
|
10
26
|
# @option arguments [Boolean] :local Return local information, do not retrieve the state from master node (default: false)
|
11
27
|
# @option arguments [Boolean] :ignore_unavailable Whether specified concrete indices should be ignored when unavailable (missing or closed)
|
12
28
|
# @option arguments [Boolean] :allow_no_indices Whether to ignore if a wildcard indices expression resolves into no concrete indices. (This includes `_all` string or when no indices have been specified)
|
13
|
-
# @option arguments [String] :expand_wildcards Whether to expand wildcard expression to concrete indices that are open, closed or both. (options: open, closed, none, all)
|
29
|
+
# @option arguments [String] :expand_wildcards Whether to expand wildcard expression to concrete indices that are open, closed or both. (options: open, closed, hidden, none, all)
|
30
|
+
# @option arguments [Hash] :headers Custom HTTP headers
|
14
31
|
#
|
15
|
-
# @see
|
32
|
+
# @see https://www.elastic.co/guide/en/elasticsearch/reference/7.10/search-shards.html
|
16
33
|
#
|
17
|
-
def search_shards(arguments={})
|
18
|
-
|
19
|
-
|
34
|
+
def search_shards(arguments = {})
|
35
|
+
headers = arguments.delete(:headers) || {}
|
36
|
+
|
37
|
+
arguments = arguments.clone
|
38
|
+
|
39
|
+
_index = arguments.delete(:index)
|
40
|
+
|
41
|
+
method = Elasticsearch::API::HTTP_GET
|
42
|
+
path = if _index
|
43
|
+
"#{Utils.__listify(_index)}/_search_shards"
|
44
|
+
else
|
45
|
+
"_search_shards"
|
46
|
+
end
|
20
47
|
params = Utils.__validate_and_extract_params arguments, ParamsRegistry.get(__method__)
|
21
|
-
body = nil
|
22
48
|
|
23
|
-
|
49
|
+
body = nil
|
50
|
+
perform_request(method, path, params, body, headers).body
|
24
51
|
end
|
25
52
|
|
26
53
|
# Register this action with its valid params when the module is loaded.
|
27
54
|
#
|
28
55
|
# @since 6.2.0
|
29
56
|
ParamsRegistry.register(:search_shards, [
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
57
|
+
:preference,
|
58
|
+
:routing,
|
59
|
+
:local,
|
60
|
+
:ignore_unavailable,
|
61
|
+
:allow_no_indices,
|
62
|
+
:expand_wildcards
|
63
|
+
].freeze)
|
36
64
|
end
|
37
65
|
end
|
38
66
|
end
|