Module: Elasticsearch::API::AsyncSearch::Actions
- Included in:
- AsyncSearchClient
- Defined in:
- lib/elasticsearch/api/namespace/async_search.rb,
lib/elasticsearch/api/actions/async_search/get.rb,
lib/elasticsearch/api/actions/async_search/delete.rb,
lib/elasticsearch/api/actions/async_search/status.rb,
lib/elasticsearch/api/actions/async_search/submit.rb
Instance Method Summary collapse
-
#delete(arguments = {}) ⇒ Object
Deletes an async search by ID.
-
#get(arguments = {}) ⇒ Object
Retrieves the results of a previously submitted async search request given its ID.
-
#status(arguments = {}) ⇒ Object
Retrieves the status of a previously submitted async search request given its ID.
-
#submit(arguments = {}) ⇒ Object
Executes a search request asynchronously.
Instance Method Details
#delete(arguments = {}) ⇒ Object
Deletes an async search by ID. If the search is still running, the search request will be cancelled. Otherwise, the saved search results are deleted.
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/elasticsearch/api/actions/async_search/delete.rb', line 32 def delete(arguments = {}) request_opts = { endpoint: arguments[:endpoint] || "async_search.delete" } defined_params = [:id].inject({}) do |set_variables, variable| set_variables[variable] = arguments[variable] if arguments.key?(variable) set_variables end request_opts[:defined_params] = defined_params unless defined_params.empty? raise ArgumentError, "Required argument 'id' missing" unless arguments[:id] arguments = arguments.clone headers = arguments.delete(:headers) || {} body = nil _id = arguments.delete(:id) method = Elasticsearch::API::HTTP_DELETE path = "_async_search/#{Utils.__listify(_id)}" params = {} Elasticsearch::API::Response.new( perform_request(method, path, params, body, headers, request_opts) ) end |
#get(arguments = {}) ⇒ Object
Retrieves the results of a previously submitted async search request given its ID.
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'lib/elasticsearch/api/actions/async_search/get.rb', line 35 def get(arguments = {}) request_opts = { endpoint: arguments[:endpoint] || "async_search.get" } defined_params = [:id].inject({}) do |set_variables, variable| set_variables[variable] = arguments[variable] if arguments.key?(variable) set_variables end request_opts[:defined_params] = defined_params unless defined_params.empty? raise ArgumentError, "Required argument 'id' missing" unless arguments[:id] arguments = arguments.clone headers = arguments.delete(:headers) || {} body = nil _id = arguments.delete(:id) method = Elasticsearch::API::HTTP_GET path = "_async_search/#{Utils.__listify(_id)}" params = Utils.process_params(arguments) Elasticsearch::API::Response.new( perform_request(method, path, params, body, headers, request_opts) ) end |
#status(arguments = {}) ⇒ Object
Retrieves the status of a previously submitted async search request given its ID.
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/elasticsearch/api/actions/async_search/status.rb', line 32 def status(arguments = {}) request_opts = { endpoint: arguments[:endpoint] || "async_search.status" } defined_params = [:id].inject({}) do |set_variables, variable| set_variables[variable] = arguments[variable] if arguments.key?(variable) set_variables end request_opts[:defined_params] = defined_params unless defined_params.empty? raise ArgumentError, "Required argument 'id' missing" unless arguments[:id] arguments = arguments.clone headers = arguments.delete(:headers) || {} body = nil _id = arguments.delete(:id) method = Elasticsearch::API::HTTP_GET path = "_async_search/status/#{Utils.__listify(_id)}" params = {} Elasticsearch::API::Response.new( perform_request(method, path, params, body, headers, request_opts) ) end |
#submit(arguments = {}) ⇒ Object
Executes a search request asynchronously.
74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 |
# File 'lib/elasticsearch/api/actions/async_search/submit.rb', line 74 def submit(arguments = {}) request_opts = { endpoint: arguments[:endpoint] || "async_search.submit" } defined_params = [:index].inject({}) do |set_variables, variable| set_variables[variable] = arguments[variable] if arguments.key?(variable) set_variables end request_opts[:defined_params] = defined_params unless defined_params.empty? arguments = arguments.clone headers = arguments.delete(:headers) || {} body = arguments.delete(:body) _index = arguments.delete(:index) method = Elasticsearch::API::HTTP_POST path = if _index "#{Utils.__listify(_index)}/_async_search" else "_async_search" end params = Utils.process_params(arguments) Elasticsearch::API::Response.new( perform_request(method, path, params, body, headers, request_opts) ) end |