Module: Elasticsearch::API::SQL::Actions
- Defined in:
- lib/elasticsearch/api/actions/sql/query.rb,
lib/elasticsearch/api/actions/sql/get_async.rb,
lib/elasticsearch/api/actions/sql/translate.rb,
lib/elasticsearch/api/actions/sql/clear_cursor.rb,
lib/elasticsearch/api/actions/sql/delete_async.rb,
lib/elasticsearch/api/actions/sql/get_async_status.rb
Instance Method Summary collapse
-
#clear_cursor(arguments = {}) ⇒ Object
Clear an SQL search cursor.
-
#delete_async(arguments = {}) ⇒ Object
Delete an async SQL search.
-
#get_async(arguments = {}) ⇒ Object
Get async SQL search results.
-
#get_async_status(arguments = {}) ⇒ Object
Get the async SQL search status.
-
#query(arguments = {}) ⇒ Object
Get SQL search results.
-
#translate(arguments = {}) ⇒ Object
Translate SQL into Elasticsearch queries.
Instance Method Details
#clear_cursor(arguments = {}) ⇒ Object
Clear an SQL search cursor.
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/elasticsearch/api/actions/sql/clear_cursor.rb', line 32 def clear_cursor(arguments = {}) request_opts = { endpoint: arguments[:endpoint] || 'sql.clear_cursor' } raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] arguments = arguments.clone headers = arguments.delete(:headers) || {} body = arguments.delete(:body) method = Elasticsearch::API::HTTP_POST path = '_sql/close' params = {} Elasticsearch::API::Response.new( perform_request(method, path, params, body, headers, request_opts) ) end |
#delete_async(arguments = {}) ⇒ Object
Delete an async SQL search. Delete an async SQL search or a stored synchronous SQL search. If the search is still running, the API cancels it. If the Elasticsearch security features are enabled, only the following users can use this API to delete a search:
-
Users with the
cancel_task
cluster privilege. -
The user who first submitted the search.
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/elasticsearch/api/actions/sql/delete_async.rb', line 37 def delete_async(arguments = {}) request_opts = { endpoint: arguments[:endpoint] || 'sql.delete_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_DELETE path = "_sql/async/delete/#{Utils.listify(_id)}" params = {} Elasticsearch::API::Response.new( perform_request(method, path, params, body, headers, request_opts) ) end |
#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.
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
# File 'lib/elasticsearch/api/actions/sql/get_async.rb', line 43 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 |
#get_async_status(arguments = {}) ⇒ Object
Get the async SQL search status. Get the current status of an async SQL search or a stored synchronous SQL search.
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/sql/get_async_status.rb', line 33 def get_async_status(arguments = {}) request_opts = { endpoint: arguments[:endpoint] || 'sql.get_async_status' } 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/status/#{Utils.listify(_id)}" params = {} Elasticsearch::API::Response.new( perform_request(method, path, params, body, headers, request_opts) ) end |
#query(arguments = {}) ⇒ Object
Get SQL search results. Run an SQL request.
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/elasticsearch/api/actions/sql/query.rb', line 36 def query(arguments = {}) request_opts = { endpoint: arguments[:endpoint] || 'sql.query' } raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] arguments = arguments.clone headers = arguments.delete(:headers) || {} body = arguments.delete(:body) method = Elasticsearch::API::HTTP_POST path = '_sql' params = Utils.process_params(arguments) Elasticsearch::API::Response.new( perform_request(method, path, params, body, headers, request_opts) ) end |
#translate(arguments = {}) ⇒ Object
Translate SQL into Elasticsearch queries. Translate an SQL search into a search API request containing Query DSL. It accepts the same request body parameters as the SQL search API, excluding cursor
.
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/elasticsearch/api/actions/sql/translate.rb', line 34 def translate(arguments = {}) request_opts = { endpoint: arguments[:endpoint] || 'sql.translate' } raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] arguments = arguments.clone headers = arguments.delete(:headers) || {} body = arguments.delete(:body) method = Elasticsearch::API::HTTP_POST path = '_sql/translate' params = {} Elasticsearch::API::Response.new( perform_request(method, path, params, body, headers, request_opts) ) end |