Module: Elasticsearch::API::Actions
- Defined in:
- lib/elasticsearch/api/actions/get.rb,
 lib/elasticsearch/api/actions/bulk.rb,
 lib/elasticsearch/api/actions/info.rb,
 lib/elasticsearch/api/actions/mget.rb,
 lib/elasticsearch/api/actions/ping.rb,
 lib/elasticsearch/api/actions/count.rb,
 lib/elasticsearch/api/actions/index.rb,
 lib/elasticsearch/api/actions/create.rb,
 lib/elasticsearch/api/actions/delete.rb,
 lib/elasticsearch/api/actions/exists.rb,
 lib/elasticsearch/api/actions/scroll.rb,
 lib/elasticsearch/api/actions/search.rb,
 lib/elasticsearch/api/actions/update.rb,
 lib/elasticsearch/api/actions/explain.rb,
 lib/elasticsearch/api/actions/msearch.rb,
 lib/elasticsearch/api/actions/reindex.rb,
 lib/elasticsearch/api/actions/rank_eval.rb,
 lib/elasticsearch/api/actions/field_caps.rb,
 lib/elasticsearch/api/actions/get_script.rb,
 lib/elasticsearch/api/actions/get_source.rb,
 lib/elasticsearch/api/actions/knn_search.rb,
 lib/elasticsearch/api/actions/put_script.rb,
 lib/elasticsearch/api/actions/search_mvt.rb,
 lib/elasticsearch/api/actions/terms_enum.rb,
 lib/elasticsearch/api/actions/termvectors.rb,
 lib/elasticsearch/api/actions/clear_scroll.rb,
 lib/elasticsearch/api/actions/mtermvectors.rb,
 lib/elasticsearch/api/actions/delete_script.rb,
 lib/elasticsearch/api/actions/exists_source.rb,
 lib/elasticsearch/api/actions/health_report.rb,
 lib/elasticsearch/api/actions/search_shards.rb,
 lib/elasticsearch/api/actions/delete_by_query.rb,
 lib/elasticsearch/api/actions/search_template.rb,
 lib/elasticsearch/api/actions/update_by_query.rb,
 lib/elasticsearch/api/actions/msearch_template.rb,
 lib/elasticsearch/api/actions/get_script_context.rb,
 lib/elasticsearch/api/actions/open_point_in_time.rb,
 lib/elasticsearch/api/actions/reindex_rethrottle.rb,
 lib/elasticsearch/api/actions/close_point_in_time.rb,
 lib/elasticsearch/api/actions/get_script_languages.rb,
 lib/elasticsearch/api/actions/render_search_template.rb,
 lib/elasticsearch/api/actions/scripts_painless_execute.rb,
 lib/elasticsearch/api/actions/delete_by_query_rethrottle.rb,
 lib/elasticsearch/api/actions/update_by_query_rethrottle.rb
Instance Method Summary collapse
- 
  
    
      #bulk(arguments = {})  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Allows to perform multiple index/update/delete operations in a single request. 
- 
  
    
      #clear_scroll(arguments = {})  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Explicitly clears the search context for a scroll. 
- 
  
    
      #close_point_in_time(arguments = {})  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Close a point in time. 
- 
  
    
      #count(arguments = {})  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Returns number of documents matching a query. 
- 
  
    
      #create(arguments = {})  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Creates a new document in the index. 
- 
  
    
      #delete(arguments = {})  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Removes a document from the index. 
- 
  
    
      #delete_by_query(arguments = {})  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Deletes documents matching the provided query. 
- 
  
    
      #delete_by_query_rethrottle(arguments = {})  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Changes the number of requests per second for a particular Delete By Query operation. 
- 
  
    
      #delete_script(arguments = {})  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Deletes a script. 
- 
  
    
      #exists(arguments = {})  ⇒ Object 
    
    
      (also: #exists?)
    
  
  
  
  
  
  
  
  
  
    Returns information about whether a document exists in an index. 
- 
  
    
      #exists_source(arguments = {})  ⇒ Object 
    
    
      (also: #exists_source?)
    
  
  
  
  
  
  
  
  
  
    Returns information about whether a document source exists in an index. 
- 
  
    
      #explain(arguments = {})  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Returns information about why a specific matches (or doesn’t match) a query. 
- 
  
    
      #field_caps(arguments = {})  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Returns the information about the capabilities of fields among multiple indices. 
- 
  
    
      #get(arguments = {})  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Returns a document. 
- 
  
    
      #get_script(arguments = {})  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Returns a script. 
- 
  
    
      #get_script_context(arguments = {})  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Returns all script contexts. 
- 
  
    
      #get_script_languages(arguments = {})  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Returns available script types, languages and contexts. 
- 
  
    
      #get_source(arguments = {})  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Returns the source of a document. 
- 
  
    
      #health_report(arguments = {})  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Returns the health of the cluster. 
- 
  
    
      #index(arguments = {})  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Creates or updates a document in an index. 
- 
  
    
      #info(arguments = {})  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Returns basic information about the cluster. 
- 
  
    
      #knn_search(arguments = {})  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Performs a kNN search. 
- 
  
    
      #mget(arguments = {})  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Allows to get multiple documents in one request. 
- 
  
    
      #msearch(arguments = {})  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Allows to execute several search operations in one request. 
- 
  
    
      #msearch_template(arguments = {})  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Allows to execute several search template operations in one request. 
- 
  
    
      #mtermvectors(arguments = {})  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Returns multiple termvectors in one request. 
- 
  
    
      #open_point_in_time(arguments = {})  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Open a point in time that can be used in subsequent searches. 
- 
  
    
      #ping(arguments = {})  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Returns whether the cluster is running. 
- 
  
    
      #put_script(arguments = {})  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Creates or updates a script. 
- 
  
    
      #rank_eval(arguments = {})  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Allows to evaluate the quality of ranked search results over a set of typical search queries. 
- 
  
    
      #reindex(arguments = {})  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Allows to copy documents from one index to another, optionally filtering the source documents by a query, changing the destination index settings, or fetching the documents from a remote cluster. 
- 
  
    
      #reindex_rethrottle(arguments = {})  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Changes the number of requests per second for a particular Reindex operation. 
- 
  
    
      #render_search_template(arguments = {})  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Allows to use the Mustache language to pre-render a search definition. 
- 
  
    
      #scripts_painless_execute(arguments = {})  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Allows an arbitrary script to be executed and a result to be returned This functionality is Experimental and may be changed or removed completely in a future release. 
- 
  
    
      #scroll(arguments = {})  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Allows to retrieve a large numbers of results from a single search request. 
- 
  
    
      #search(arguments = {})  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Returns results matching a query. 
- 
  
    
      #search_mvt(arguments = {})  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Searches a vector tile for geospatial values. 
- 
  
    
      #search_shards(arguments = {})  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Returns information about the indices and shards that a search request would be executed against. 
- 
  
    
      #search_template(arguments = {})  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Allows to use the Mustache language to pre-render a search definition. 
- 
  
    
      #terms_enum(arguments = {})  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    The terms enum API can be used to discover terms in the index that begin with the provided string. 
- 
  
    
      #termvector(arguments = {})  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Deprecated: Use the plural version, #termvectors. 
- 
  
    
      #termvectors(arguments = {})  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Returns information and statistics about terms in the fields of a particular document. 
- 
  
    
      #update(arguments = {})  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Updates a document with a script or partial document. 
- 
  
    
      #update_by_query(arguments = {})  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Performs an update on every document in the index without changing the source, for example to pick up a mapping change. 
- 
  
    
      #update_by_query_rethrottle(arguments = {})  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Changes the number of requests per second for a particular Update By Query operation. 
Instance Method Details
#bulk(arguments = {}) ⇒ Object
Allows to perform multiple index/update/delete operations in a single request.
or the conveniency “combined” format can be passed, refer to Elasticsearch::API::Utils.__bulkify documentation.
| 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 68 69 70 71 | # File 'lib/elasticsearch/api/actions/bulk.rb', line 43 def bulk(arguments = {}) raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] 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)}/_bulk" else "_bulk" end params = Utils.process_params(arguments) if body.is_a? Array payload = Elasticsearch::API::Utils.__bulkify(body) else payload = body end headers.merge!("Content-Type" => "application/x-ndjson") Elasticsearch::API::Response.new( perform_request(method, path, params, payload, headers) ) end | 
#clear_scroll(arguments = {}) ⇒ Object
Explicitly clears the search context for a scroll.
*Deprecation notice*: A scroll id can be quite large and should be specified as part of the body Deprecated since version 7.0.0
| 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 62 63 64 | # File 'lib/elasticsearch/api/actions/clear_scroll.rb', line 37 def clear_scroll(arguments = {}) arguments = arguments.clone headers = arguments.delete(:headers) || {} body = arguments.delete(:body) _scroll_id = arguments.delete(:scroll_id) method = Elasticsearch::API::HTTP_DELETE path = if _scroll_id "_search/scroll/#{Utils.__listify(_scroll_id)}" else "_search/scroll" end params = Utils.process_params(arguments) if Array(arguments[:ignore]).include?(404) Utils.__rescue_from_not_found { Elasticsearch::API::Response.new( perform_request(method, path, params, body, headers) ) } else Elasticsearch::API::Response.new( perform_request(method, path, params, body, headers) ) end end | 
#close_point_in_time(arguments = {}) ⇒ Object
Close a point in time
| 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | # File 'lib/elasticsearch/api/actions/close_point_in_time.rb', line 31 def close_point_in_time(arguments = {}) arguments = arguments.clone headers = arguments.delete(:headers) || {} body = arguments.delete(:body) method = Elasticsearch::API::HTTP_DELETE path = "_pit" params = {} Elasticsearch::API::Response.new( perform_request(method, path, params, body, headers) ) end | 
#count(arguments = {}) ⇒ Object
Returns number of documents matching a query.
| 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 | # File 'lib/elasticsearch/api/actions/count.rb', line 46 def count(arguments = {}) arguments = arguments.clone headers = arguments.delete(:headers) || {} body = arguments.delete(:body) _index = arguments.delete(:index) method = if body Elasticsearch::API::HTTP_POST else Elasticsearch::API::HTTP_GET end path = if _index "#{Utils.__listify(_index)}/_count" else "_count" end params = Utils.process_params(arguments) Elasticsearch::API::Response.new( perform_request(method, path, params, body, headers) ) end | 
#create(arguments = {}) ⇒ Object
Creates a new document in the index.
Returns a 409 response when a document with a same ID already exists in the index.
| 42 43 44 45 46 47 48 | # File 'lib/elasticsearch/api/actions/create.rb', line 42 def create(arguments = {}) if arguments[:id] index arguments.update op_type: 'create' else index arguments end end | 
#delete(arguments = {}) ⇒ Object
Removes a document from the index.
| 40 41 42 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 68 | # File 'lib/elasticsearch/api/actions/delete.rb', line 40 def delete(arguments = {}) raise ArgumentError, "Required argument 'index' missing" unless arguments[:index] raise ArgumentError, "Required argument 'id' missing" unless arguments[:id] arguments = arguments.clone headers = arguments.delete(:headers) || {} body = nil _id = arguments.delete(:id) _index = arguments.delete(:index) method = Elasticsearch::API::HTTP_DELETE path = "#{Utils.__listify(_index)}/_doc/#{Utils.__listify(_id)}" params = Utils.process_params(arguments) if Array(arguments[:ignore]).include?(404) Utils.__rescue_from_not_found { Elasticsearch::API::Response.new( perform_request(method, path, params, body, headers) ) } else Elasticsearch::API::Response.new( perform_request(method, path, params, body, headers) ) end end | 
#delete_by_query(arguments = {}) ⇒ Object
Deletes documents matching the provided query.
| 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | # File 'lib/elasticsearch/api/actions/delete_by_query.rb', line 61 def delete_by_query(arguments = {}) raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] raise ArgumentError, "Required argument 'index' missing" unless arguments[:index] arguments = arguments.clone headers = arguments.delete(:headers) || {} body = arguments.delete(:body) _index = arguments.delete(:index) method = Elasticsearch::API::HTTP_POST path = "#{Utils.__listify(_index)}/_delete_by_query" params = Utils.process_params(arguments) Elasticsearch::API::Response.new( perform_request(method, path, params, body, headers) ) end | 
#delete_by_query_rethrottle(arguments = {}) ⇒ Object
Changes the number of requests per second for a particular Delete By Query operation.
| 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | # File 'lib/elasticsearch/api/actions/delete_by_query_rethrottle.rb', line 32 def delete_by_query_rethrottle(arguments = {}) raise ArgumentError, "Required argument 'task_id' missing" unless arguments[:task_id] arguments = arguments.clone headers = arguments.delete(:headers) || {} body = nil _task_id = arguments.delete(:task_id) method = Elasticsearch::API::HTTP_POST path = "_delete_by_query/#{Utils.__listify(_task_id)}/_rethrottle" params = Utils.process_params(arguments) Elasticsearch::API::Response.new( perform_request(method, path, params, body, headers) ) end | 
#delete_script(arguments = {}) ⇒ Object
Deletes a script.
| 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | # File 'lib/elasticsearch/api/actions/delete_script.rb', line 33 def delete_script(arguments = {}) 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 = "_scripts/#{Utils.__listify(_id)}" params = Utils.process_params(arguments) Elasticsearch::API::Response.new( perform_request(method, path, params, body, headers) ) end | 
#exists(arguments = {}) ⇒ Object Also known as: exists?
Returns information about whether a document exists in an index.
| 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | # File 'lib/elasticsearch/api/actions/exists.rb', line 42 def exists(arguments = {}) raise ArgumentError, "Required argument 'index' missing" unless arguments[:index] raise ArgumentError, "Required argument 'id' missing" unless arguments[:id] arguments = arguments.clone headers = arguments.delete(:headers) || {} body = nil _id = arguments.delete(:id) _index = arguments.delete(:index) method = Elasticsearch::API::HTTP_HEAD path = "#{Utils.__listify(_index)}/_doc/#{Utils.__listify(_id)}" params = Utils.process_params(arguments) Utils.__rescue_from_not_found do perform_request(method, path, params, body, headers).status == 200 ? true : false end end | 
#exists_source(arguments = {}) ⇒ Object Also known as: exists_source?
Returns information about whether a document source exists in an index.
| 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/exists_source.rb', line 41 def exists_source(arguments = {}) raise ArgumentError, "Required argument 'index' missing" unless arguments[:index] raise ArgumentError, "Required argument 'id' missing" unless arguments[:id] arguments = arguments.clone headers = arguments.delete(:headers) || {} body = nil _id = arguments.delete(:id) _index = arguments.delete(:index) method = Elasticsearch::API::HTTP_HEAD path = "#{Utils.__listify(_index)}/_source/#{Utils.__listify(_id)}" params = Utils.process_params(arguments) Elasticsearch::API::Response.new( perform_request(method, path, params, body, headers) ) end | 
#explain(arguments = {}) ⇒ Object
Returns information about why a specific matches (or doesn’t match) a query.
| 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 | # File 'lib/elasticsearch/api/actions/explain.rb', line 45 def explain(arguments = {}) raise ArgumentError, "Required argument 'index' missing" unless arguments[:index] raise ArgumentError, "Required argument 'id' missing" unless arguments[:id] arguments = arguments.clone headers = arguments.delete(:headers) || {} body = arguments.delete(:body) _id = arguments.delete(:id) _index = arguments.delete(:index) method = if body Elasticsearch::API::HTTP_POST else Elasticsearch::API::HTTP_GET end path = "#{Utils.__listify(_index)}/_explain/#{Utils.__listify(_id)}" params = Utils.process_params(arguments) Elasticsearch::API::Response.new( perform_request(method, path, params, body, headers) ) end | 
#field_caps(arguments = {}) ⇒ Object
Returns the information about the capabilities of fields among multiple indices.
| 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | # File 'lib/elasticsearch/api/actions/field_caps.rb', line 39 def field_caps(arguments = {}) arguments = arguments.clone headers = arguments.delete(:headers) || {} body = arguments.delete(:body) _index = arguments.delete(:index) method = if body Elasticsearch::API::HTTP_POST else Elasticsearch::API::HTTP_GET end path = if _index "#{Utils.__listify(_index)}/_field_caps" else "_field_caps" end params = Utils.process_params(arguments) Elasticsearch::API::Response.new( perform_request(method, path, params, body, headers) ) end | 
#get(arguments = {}) ⇒ Object
Returns a document.
| 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 68 69 70 71 | # File 'lib/elasticsearch/api/actions/get.rb', line 43 def get(arguments = {}) raise ArgumentError, "Required argument 'index' missing" unless arguments[:index] raise ArgumentError, "Required argument 'id' missing" unless arguments[:id] arguments = arguments.clone headers = arguments.delete(:headers) || {} body = nil _id = arguments.delete(:id) _index = arguments.delete(:index) method = Elasticsearch::API::HTTP_GET path = "#{Utils.__listify(_index)}/_doc/#{Utils.__listify(_id)}" params = Utils.process_params(arguments) if Array(arguments[:ignore]).include?(404) Utils.__rescue_from_not_found { Elasticsearch::API::Response.new( perform_request(method, path, params, body, headers) ) } else Elasticsearch::API::Response.new( perform_request(method, path, params, body, headers) ) end end | 
#get_script(arguments = {}) ⇒ Object
Returns a script.
| 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | # File 'lib/elasticsearch/api/actions/get_script.rb', line 32 def get_script(arguments = {}) 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 = "_scripts/#{Utils.__listify(_id)}" params = Utils.process_params(arguments) Elasticsearch::API::Response.new( perform_request(method, path, params, body, headers) ) end | 
#get_script_context(arguments = {}) ⇒ Object
Returns all script contexts.
| 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | # File 'lib/elasticsearch/api/actions/get_script_context.rb', line 30 def get_script_context(arguments = {}) arguments = arguments.clone headers = arguments.delete(:headers) || {} body = nil method = Elasticsearch::API::HTTP_GET path = "_script_context" params = {} Elasticsearch::API::Response.new( perform_request(method, path, params, body, headers) ) end | 
#get_script_languages(arguments = {}) ⇒ Object
Returns available script types, languages and contexts
| 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | # File 'lib/elasticsearch/api/actions/get_script_languages.rb', line 30 def get_script_languages(arguments = {}) arguments = arguments.clone headers = arguments.delete(:headers) || {} body = nil method = Elasticsearch::API::HTTP_GET path = "_script_language" params = {} Elasticsearch::API::Response.new( perform_request(method, path, params, body, headers) ) end | 
#get_source(arguments = {}) ⇒ Object
Returns the source of a document.
| 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/get_source.rb', line 41 def get_source(arguments = {}) raise ArgumentError, "Required argument 'index' missing" unless arguments[:index] raise ArgumentError, "Required argument 'id' missing" unless arguments[:id] arguments = arguments.clone headers = arguments.delete(:headers) || {} body = nil _id = arguments.delete(:id) _index = arguments.delete(:index) method = Elasticsearch::API::HTTP_GET path = "#{Utils.__listify(_index)}/_source/#{Utils.__listify(_id)}" params = Utils.process_params(arguments) Elasticsearch::API::Response.new( perform_request(method, path, params, body, headers) ) end | 
#health_report(arguments = {}) ⇒ Object
Returns the health of the cluster.
| 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | # File 'lib/elasticsearch/api/actions/health_report.rb', line 34 def health_report(arguments = {}) arguments = arguments.clone headers = arguments.delete(:headers) || {} body = nil _feature = arguments.delete(:feature) method = Elasticsearch::API::HTTP_GET path = if _feature "_health_report/#{Utils.__listify(_feature)}" else "_health_report" end params = Utils.process_params(arguments) Elasticsearch::API::Response.new( perform_request(method, path, params, body, headers) ) end | 
#index(arguments = {}) ⇒ Object
Creates or updates a document in an index.
| 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | # File 'lib/elasticsearch/api/actions/index.rb', line 44 def index(arguments = {}) raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] raise ArgumentError, "Required argument 'index' missing" unless arguments[:index] arguments = arguments.clone headers = arguments.delete(:headers) || {} body = arguments.delete(:body) _id = arguments.delete(:id) _index = arguments.delete(:index) method = _id ? Elasticsearch::API::HTTP_PUT : Elasticsearch::API::HTTP_POST path = if _index && _id "#{Utils.__listify(_index)}/_doc/#{Utils.__listify(_id)}" else "#{Utils.__listify(_index)}/_doc" end params = Utils.process_params(arguments) Elasticsearch::API::Response.new( perform_request(method, path, params, body, headers) ) end | 
#info(arguments = {}) ⇒ Object
Returns basic information about the cluster.
| 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | # File 'lib/elasticsearch/api/actions/info.rb', line 30 def info(arguments = {}) arguments = arguments.clone headers = arguments.delete(:headers) || {} body = nil method = Elasticsearch::API::HTTP_GET path = "" params = {} Elasticsearch::API::Response.new( perform_request(method, path, params, body, headers) ) end | 
#knn_search(arguments = {}) ⇒ Object
Performs a kNN search. This functionality is Experimental and may be changed or removed completely in a future release. Elastic will take a best effort approach to fix any issues, but experimental features are not subject to the support SLA of official GA features.
| 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | # File 'lib/elasticsearch/api/actions/knn_search.rb', line 37 def knn_search(arguments = {}) raise ArgumentError, "Required argument 'index' missing" unless arguments[:index] arguments = arguments.clone headers = arguments.delete(:headers) || {} body = arguments.delete(:body) _index = arguments.delete(:index) method = if body Elasticsearch::API::HTTP_POST else Elasticsearch::API::HTTP_GET end path = "#{Utils.__listify(_index)}/_knn_search" params = Utils.process_params(arguments) Elasticsearch::API::Response.new( perform_request(method, path, params, body, headers) ) end | 
#mget(arguments = {}) ⇒ Object
Allows to get multiple documents in one request.
| 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | # File 'lib/elasticsearch/api/actions/mget.rb', line 41 def mget(arguments = {}) raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] 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)}/_mget" else "_mget" end params = Utils.process_params(arguments) Elasticsearch::API::Response.new( perform_request(method, path, params, body, headers) ) end | 
#msearch(arguments = {}) ⇒ Object
Allows to execute several search operations in one request.
| 39 40 41 42 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 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 | # File 'lib/elasticsearch/api/actions/msearch.rb', line 39 def msearch(arguments = {}) raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] 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)}/_msearch" else "_msearch" end params = Utils.process_params(arguments) case when body.is_a?(Array) && body.any? { |d| d.has_key? :search } payload = body .inject([]) do |sum, item| = item data = .delete(:search) sum << sum << data sum end .map { |item| Elasticsearch::API.serializer.dump(item) } payload << "" unless payload.empty? payload = payload.join("\n") when body.is_a?(Array) payload = body.map { |d| d.is_a?(String) ? d : Elasticsearch::API.serializer.dump(d) } payload << "" unless payload.empty? payload = payload.join("\n") else payload = body end headers.merge!("Content-Type" => "application/x-ndjson") Elasticsearch::API::Response.new( perform_request(method, path, params, payload, headers) ) end | 
#msearch_template(arguments = {}) ⇒ Object
Allows to execute several search template operations in one request.
| 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 62 63 64 65 66 67 68 69 | # File 'lib/elasticsearch/api/actions/msearch_template.rb', line 37 def msearch_template(arguments = {}) raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] 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)}/_msearch/template" else "_msearch/template" end params = Utils.process_params(arguments) case when body.is_a?(Array) payload = body.map { |d| d.is_a?(String) ? d : Elasticsearch::API.serializer.dump(d) } payload << "" unless payload.empty? payload = payload.join(" ") else payload = body end headers.merge!("Content-Type" => "application/x-ndjson") Elasticsearch::API::Response.new( perform_request(method, path, params, payload, headers) ) end | 
#mtermvectors(arguments = {}) ⇒ Object
Returns multiple termvectors in one request.
| 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 | # File 'lib/elasticsearch/api/actions/mtermvectors.rb', line 44 def mtermvectors(arguments = {}) arguments = arguments.clone headers = arguments.delete(:headers) || {} body = if (ids = arguments.delete(:ids)) { :ids => ids } else arguments.delete(:body) end _index = arguments.delete(:index) method = if body Elasticsearch::API::HTTP_POST else Elasticsearch::API::HTTP_GET end path = if _index "#{Utils.__listify(_index)}/_mtermvectors" else "_mtermvectors" end params = Utils.process_params(arguments) Elasticsearch::API::Response.new( perform_request(method, path, params, body, headers) ) end | 
#open_point_in_time(arguments = {}) ⇒ Object
Open a point in time that can be used in subsequent searches
| 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | # File 'lib/elasticsearch/api/actions/open_point_in_time.rb', line 36 def open_point_in_time(arguments = {}) raise ArgumentError, "Required argument 'index' missing" unless arguments[:index] arguments = arguments.clone headers = arguments.delete(:headers) || {} body = nil _index = arguments.delete(:index) method = Elasticsearch::API::HTTP_POST path = "#{Utils.__listify(_index)}/_pit" params = Utils.process_params(arguments) Elasticsearch::API::Response.new( perform_request(method, path, params, body, headers) ) end | 
#ping(arguments = {}) ⇒ Object
Returns whether the cluster is running.
| 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | # File 'lib/elasticsearch/api/actions/ping.rb', line 30 def ping(arguments = {}) arguments = arguments.clone headers = arguments.delete(:headers) || {} body = nil method = Elasticsearch::API::HTTP_HEAD path = "" params = {} begin perform_request(method, path, params, body, headers).status == 200 ? true : false rescue Exception => e if e.class.to_s =~ /NotFound|ConnectionFailed/ || e. =~ /Not *Found|404|ConnectionFailed/i false else raise e end end end | 
#put_script(arguments = {}) ⇒ Object
Creates or updates a script.
| 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 | # File 'lib/elasticsearch/api/actions/put_script.rb', line 35 def put_script(arguments = {}) raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] raise ArgumentError, "Required argument 'id' missing" unless arguments[:id] arguments = arguments.clone headers = arguments.delete(:headers) || {} body = arguments.delete(:body) _id = arguments.delete(:id) _context = arguments.delete(:context) method = Elasticsearch::API::HTTP_PUT path = if _id && _context "_scripts/#{Utils.__listify(_id)}/#{Utils.__listify(_context)}" else "_scripts/#{Utils.__listify(_id)}" end params = Utils.process_params(arguments) Elasticsearch::API::Response.new( perform_request(method, path, params, body, headers) ) end | 
#rank_eval(arguments = {}) ⇒ Object
Allows to evaluate the quality of ranked search results over a set of typical search queries
| 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/rank_eval.rb', line 36 def rank_eval(arguments = {}) raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] 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)}/_rank_eval" else "_rank_eval" end params = Utils.process_params(arguments) Elasticsearch::API::Response.new( perform_request(method, path, params, body, headers) ) end | 
#reindex(arguments = {}) ⇒ Object
Allows to copy documents from one index to another, optionally filtering the source documents by a query, changing the destination index settings, or fetching the documents from a remote cluster.
| 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | # File 'lib/elasticsearch/api/actions/reindex.rb', line 41 def reindex(arguments = {}) 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 = "_reindex" params = Utils.process_params(arguments) Elasticsearch::API::Response.new( perform_request(method, path, params, body, headers) ) end | 
#reindex_rethrottle(arguments = {}) ⇒ Object
Changes the number of requests per second for a particular Reindex operation.
| 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | # File 'lib/elasticsearch/api/actions/reindex_rethrottle.rb', line 32 def reindex_rethrottle(arguments = {}) raise ArgumentError, "Required argument 'task_id' missing" unless arguments[:task_id] arguments = arguments.clone headers = arguments.delete(:headers) || {} body = nil _task_id = arguments.delete(:task_id) method = Elasticsearch::API::HTTP_POST path = "_reindex/#{Utils.__listify(_task_id)}/_rethrottle" params = Utils.process_params(arguments) Elasticsearch::API::Response.new( perform_request(method, path, params, body, headers) ) end | 
#render_search_template(arguments = {}) ⇒ Object
Allows to use the Mustache language to pre-render a search definition.
| 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 | # File 'lib/elasticsearch/api/actions/render_search_template.rb', line 32 def render_search_template(arguments = {}) arguments = arguments.clone headers = arguments.delete(:headers) || {} body = arguments.delete(:body) _id = arguments.delete(:id) method = if body Elasticsearch::API::HTTP_POST else Elasticsearch::API::HTTP_GET end path = if _id "_render/template/#{Utils.__listify(_id)}" else "_render/template" end params = {} Elasticsearch::API::Response.new( perform_request(method, path, params, body, headers) ) end | 
#scripts_painless_execute(arguments = {}) ⇒ Object
Allows an arbitrary script to be executed and a result to be returned This functionality is Experimental and may be changed or removed completely in a future release. Elastic will take a best effort approach to fix any issues, but experimental features are not subject to the support SLA of official GA features.
| 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | # File 'lib/elasticsearch/api/actions/scripts_painless_execute.rb', line 35 def scripts_painless_execute(arguments = {}) arguments = arguments.clone headers = arguments.delete(:headers) || {} body = arguments.delete(:body) method = if body Elasticsearch::API::HTTP_POST else Elasticsearch::API::HTTP_GET end path = "_scripts/painless/_execute" params = {} Elasticsearch::API::Response.new( perform_request(method, path, params, body, headers) ) end | 
#scroll(arguments = {}) ⇒ Object
Allows to retrieve a large numbers of results from a single search request.
*Deprecation notice*: A scroll id can be quite large and should be specified as part of the body Deprecated since version 7.0.0
| 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | # File 'lib/elasticsearch/api/actions/scroll.rb', line 39 def scroll(arguments = {}) arguments = arguments.clone headers = arguments.delete(:headers) || {} body = arguments.delete(:body) _scroll_id = arguments.delete(:scroll_id) method = if body Elasticsearch::API::HTTP_POST else Elasticsearch::API::HTTP_GET end path = if _scroll_id "_search/scroll/#{Utils.__listify(_scroll_id)}" else "_search/scroll" end params = Utils.process_params(arguments) Elasticsearch::API::Response.new( perform_request(method, path, params, body, headers) ) end | 
#search(arguments = {}) ⇒ Object
Returns results matching a query.
| 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/search.rb', line 77 def search(arguments = {}) arguments = arguments.clone headers = arguments.delete(:headers) || {} body = arguments.delete(:body) _index = arguments.delete(:index) method = if body Elasticsearch::API::HTTP_POST else Elasticsearch::API::HTTP_GET end path = if _index "#{Utils.__listify(_index)}/_search" else "_search" end params = Utils.process_params(arguments) Elasticsearch::API::Response.new( perform_request(method, path, params, body, headers) ) end | 
#search_mvt(arguments = {}) ⇒ Object
Searches a vector tile for geospatial values. Returns results as a binary Mapbox vector tile. This functionality is Experimental and may be changed or removed completely in a future release. Elastic will take a best effort approach to fix any issues, but experimental features are not subject to the support SLA of official GA features.
| 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | # File 'lib/elasticsearch/api/actions/search_mvt.rb', line 47 def search_mvt(arguments = {}) raise ArgumentError, "Required argument 'index' missing" unless arguments[:index] raise ArgumentError, "Required argument 'field' missing" unless arguments[:field] raise ArgumentError, "Required argument 'zoom' missing" unless arguments[:zoom] raise ArgumentError, "Required argument 'x' missing" unless arguments[:x] raise ArgumentError, "Required argument 'y' missing" unless arguments[:y] arguments = arguments.clone headers = arguments.delete(:headers) || {} body = arguments.delete(:body) _index = arguments.delete(:index) _field = arguments.delete(:field) _zoom = arguments.delete(:zoom) _x = arguments.delete(:x) _y = arguments.delete(:y) method = Elasticsearch::API::HTTP_POST path = "#{Utils.__listify(_index)}/_mvt/#{Utils.__listify(_field)}/#{Utils.__listify(_zoom)}/#{Utils.__listify(_x)}/#{Utils.__listify(_y)}" params = Utils.process_params(arguments) Elasticsearch::API::Response.new( perform_request(method, path, params, body, headers) ) end | 
#search_shards(arguments = {}) ⇒ Object
Returns information about the indices and shards that a search request would be executed against.
| 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | # File 'lib/elasticsearch/api/actions/search_shards.rb', line 37 def search_shards(arguments = {}) arguments = arguments.clone headers = arguments.delete(:headers) || {} body = nil _index = arguments.delete(:index) method = Elasticsearch::API::HTTP_GET path = if _index "#{Utils.__listify(_index)}/_search_shards" else "_search_shards" end params = Utils.process_params(arguments) Elasticsearch::API::Response.new( perform_request(method, path, params, body, headers) ) end | 
#search_template(arguments = {}) ⇒ Object
Allows to use the Mustache language to pre-render a search definition.
| 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | # File 'lib/elasticsearch/api/actions/search_template.rb', line 45 def search_template(arguments = {}) raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] 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)}/_search/template" else "_search/template" end params = Utils.process_params(arguments) Elasticsearch::API::Response.new( perform_request(method, path, params, body, headers) ) end | 
#terms_enum(arguments = {}) ⇒ Object
The terms enum API can be used to discover terms in the index that begin with the provided string. It is designed for low-latency look-ups used in auto-complete scenarios.
| 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | # File 'lib/elasticsearch/api/actions/terms_enum.rb', line 32 def terms_enum(arguments = {}) raise ArgumentError, "Required argument 'index' missing" unless arguments[:index] arguments = arguments.clone headers = arguments.delete(:headers) || {} body = arguments.delete(:body) _index = arguments.delete(:index) method = if body Elasticsearch::API::HTTP_POST else Elasticsearch::API::HTTP_GET end path = "#{Utils.__listify(_index)}/_terms_enum" params = {} Elasticsearch::API::Response.new( perform_request(method, path, params, body, headers) ) end | 
#termvector(arguments = {}) ⇒ Object
Deprecated: Use the plural version, #termvectors
| 77 78 79 | # File 'lib/elasticsearch/api/actions/termvectors.rb', line 77 def termvector(arguments = {}) termvectors(arguments.merge endpoint: '_termvector') end | 
#termvectors(arguments = {}) ⇒ Object
Returns information and statistics about terms in the fields of a particular document.
| 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 | # File 'lib/elasticsearch/api/actions/termvectors.rb', line 44 def termvectors(arguments = {}) raise ArgumentError, "Required argument 'index' missing" unless arguments[:index] arguments = arguments.clone headers = arguments.delete(:headers) || {} body = arguments.delete(:body) _index = arguments.delete(:index) _id = arguments.delete(:id) method = if body Elasticsearch::API::HTTP_POST else Elasticsearch::API::HTTP_GET end endpoint = arguments.delete(:endpoint) || '_termvectors' path = if _index && _id "#{Utils.__listify(_index)}/_termvectors/#{Utils.__listify(_id)}" else "#{Utils.__listify(_index)}/_termvectors" end params = Utils.process_params(arguments) Elasticsearch::API::Response.new( perform_request(method, path, params, body, headers) ) end | 
#update(arguments = {}) ⇒ Object
Updates a document with a script or partial document.
| 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 | # File 'lib/elasticsearch/api/actions/update.rb', line 45 def update(arguments = {}) raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] raise ArgumentError, "Required argument 'index' missing" unless arguments[:index] raise ArgumentError, "Required argument 'id' missing" unless arguments[:id] arguments = arguments.clone headers = arguments.delete(:headers) || {} body = arguments.delete(:body) _id = arguments.delete(:id) _index = arguments.delete(:index) method = Elasticsearch::API::HTTP_POST path = "#{Utils.__listify(_index)}/_update/#{Utils.__listify(_id)}" params = Utils.process_params(arguments) if Array(arguments[:ignore]).include?(404) Utils.__rescue_from_not_found { Elasticsearch::API::Response.new( perform_request(method, path, params, body, headers) ) } else Elasticsearch::API::Response.new( perform_request(method, path, params, body, headers) ) end end | 
#update_by_query(arguments = {}) ⇒ Object
Performs an update on every document in the index without changing the source, for example to pick up a mapping change.
| 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 | # File 'lib/elasticsearch/api/actions/update_by_query.rb', line 64 def update_by_query(arguments = {}) raise ArgumentError, "Required argument 'index' missing" unless arguments[:index] arguments = arguments.clone headers = arguments.delete(:headers) || {} body = arguments.delete(:body) _index = arguments.delete(:index) method = Elasticsearch::API::HTTP_POST path = "#{Utils.__listify(_index)}/_update_by_query" params = Utils.process_params(arguments) Elasticsearch::API::Response.new( perform_request(method, path, params, body, headers) ) end | 
#update_by_query_rethrottle(arguments = {}) ⇒ Object
Changes the number of requests per second for a particular Update By Query operation.
| 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | # File 'lib/elasticsearch/api/actions/update_by_query_rethrottle.rb', line 32 def update_by_query_rethrottle(arguments = {}) raise ArgumentError, "Required argument 'task_id' missing" unless arguments[:task_id] arguments = arguments.clone headers = arguments.delete(:headers) || {} body = nil _task_id = arguments.delete(:task_id) method = Elasticsearch::API::HTTP_POST path = "_update_by_query/#{Utils.__listify(_task_id)}/_rethrottle" params = Utils.process_params(arguments) Elasticsearch::API::Response.new( perform_request(method, path, params, body, headers) ) end |