Method: Elasticsearch::API::SQL::Actions#get_async

Defined in:
lib/elasticsearch/api/actions/sql/get_async.rb

#get_async(arguments = {}) ⇒ Object

Get async SQL search results. Get the current status and available results for an async SQL search or stored synchronous SQL search. If the Elasticsearch security features are enabled, only the user who first submitted the SQL search can retrieve the search using this API.

Parameters:

  • arguments (Hash) (defaults to: {})

    a customizable set of options

Options Hash (arguments):

  • :id (String)

    The identifier for the search. (Required)

  • :delimiter (String)

    The separator for CSV results. The API supports this parameter only for CSV responses. Server default: ,.

  • :format (String)

    The format for the response. You must specify a format using this parameter or the Accept HTTP header. If you specify both, the API uses this parameter.

  • :keep_alive (Time)

    The retention period for the search and its results. It defaults to the keep_alive period for the original SQL search. Server default: 5d.

  • :wait_for_completion_timeout (Time)

    The period to wait for complete results. It defaults to no timeout, meaning the request waits for complete search results.

  • :error_trace (Boolean)

    When set to true Elasticsearch will include the full stack trace of errors when they occur.

  • :filter_path (String, Array<String>)

    Comma-separated list of filters in dot notation which reduce the response returned by Elasticsearch.

  • :human (Boolean)

    When set to true will return statistics in a format suitable for humans. For example ‘“exists_time”: “1h”` for humans and `“exists_time_in_millis”: 3600000` for computers. When disabled the human readable values will be omitted. This makes sense for responses being consumed only by machines.

  • :pretty (Boolean)

    If set to true the returned JSON will be “pretty-formatted”. Only use this option for debugging only.

  • :headers (Hash)

    Custom HTTP headers

Raises:

  • (ArgumentError)

See Also:



54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
# File 'lib/elasticsearch/api/actions/sql/get_async.rb', line 54

def get_async(arguments = {})
  request_opts = { endpoint: arguments[:endpoint] || 'sql.get_async' }

  defined_params = [:id].each_with_object({}) do |variable, set_variables|
    set_variables[variable] = arguments[variable] if arguments.key?(variable)
  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   = "_sql/async/#{Utils.listify(_id)}"
  params = Utils.process_params(arguments)

  Elasticsearch::API::Response.new(
    perform_request(method, path, params, body, headers, request_opts)
  )
end