module Elasticsearch::API::SearchableSnapshots::Actions

Public Instance Methods

cache_stats(arguments = {}) click to toggle source

Retrieve node-level cache statistics about searchable snapshots. 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.

@option arguments [List] :node_id A comma-separated list of node IDs or names to limit the returned information; use ‘_local` to return information from the node you’re connecting to, leave empty to get information from all nodes @option arguments [Hash] :headers Custom HTTP headers

@see www.elastic.co/guide/en/elasticsearch/reference/8.16/searchable-snapshots-apis.html

# File lib/elasticsearch/api/actions/searchable_snapshots/cache_stats.rb, line 36
def cache_stats(arguments = {})
  request_opts = { endpoint: arguments[:endpoint] || 'searchable_snapshots.cache_stats' }

  defined_params = [:node_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?

  arguments = arguments.clone
  headers = arguments.delete(:headers) || {}

  body = nil

  _node_id = arguments.delete(:node_id)

  method = Elasticsearch::API::HTTP_GET
  path   = if _node_id
             "_searchable_snapshots/#{Utils.__listify(_node_id)}/cache/stats"
           else
             '_searchable_snapshots/cache/stats'
           end
  params = {}

  Elasticsearch::API::Response.new(
    perform_request(method, path, params, body, headers, request_opts)
  )
end
clear_cache(arguments = {}) click to toggle source

Clear the cache of searchable snapshots. 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.

@option arguments [List] :index A comma-separated list of index names @option arguments [Boolean] :ignore_unavailable Whether specified concrete indices should be ignored when unavailable (missing or closed) @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) @option arguments [String] :expand_wildcards Whether to expand wildcard expression to concrete indices that are open, closed or both. (options: open, closed, none, all) @option arguments [Hash] :headers Custom HTTP headers

@see www.elastic.co/guide/en/elasticsearch/reference/8.16/searchable-snapshots-apis.html

# File lib/elasticsearch/api/actions/searchable_snapshots/clear_cache.rb, line 39
def clear_cache(arguments = {})
  request_opts = { endpoint: arguments[:endpoint] || 'searchable_snapshots.clear_cache' }

  defined_params = [:index].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?

  arguments = arguments.clone
  headers = arguments.delete(:headers) || {}

  body   = nil

  _index = arguments.delete(:index)

  method = Elasticsearch::API::HTTP_POST
  path   = if _index
             "#{Utils.__listify(_index)}/_searchable_snapshots/cache/clear"
           else
             '_searchable_snapshots/cache/clear'
           end
  params = Utils.process_params(arguments)

  Elasticsearch::API::Response.new(
    perform_request(method, path, params, body, headers, request_opts)
  )
end
mount(arguments = {}) click to toggle source

Mount a snapshot as a searchable index.

@option arguments [String] :repository The name of the repository containing the snapshot of the index to mount @option arguments [String] :snapshot The name of the snapshot of the index to mount @option arguments [Time] :master_timeout Explicit operation timeout for connection to master node @option arguments [Boolean] :wait_for_completion Should this request wait until the operation has completed before returning @option arguments [String] :storage Selects the kind of local storage used to accelerate searches. Experimental, and defaults to ‘full_copy` @option arguments [Hash] :headers Custom HTTP headers @option arguments [Hash] :body The restore configuration for mounting the snapshot as searchable (Required)

@see www.elastic.co/guide/en/elasticsearch/reference/8.16/searchable-snapshots-api-mount-snapshot.html

# File lib/elasticsearch/api/actions/searchable_snapshots/mount.rb, line 37
def mount(arguments = {})
  request_opts = { endpoint: arguments[:endpoint] || 'searchable_snapshots.mount' }

  defined_params = %i[repository snapshot].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 'body' missing" unless arguments[:body]
  raise ArgumentError, "Required argument 'repository' missing" unless arguments[:repository]
  raise ArgumentError, "Required argument 'snapshot' missing" unless arguments[:snapshot]

  arguments = arguments.clone
  headers = arguments.delete(:headers) || {}

  body = arguments.delete(:body)

  _repository = arguments.delete(:repository)

  _snapshot = arguments.delete(:snapshot)

  method = Elasticsearch::API::HTTP_POST
  path   = "_snapshot/#{Utils.__listify(_repository)}/#{Utils.__listify(_snapshot)}/_mount"
  params = Utils.process_params(arguments)

  Elasticsearch::API::Response.new(
    perform_request(method, path, params, body, headers, request_opts)
  )
end
stats(arguments = {}) click to toggle source

Retrieve shard-level statistics about searchable snapshots.

@option arguments [List] :index A comma-separated list of index names @option arguments [String] :level Return stats aggregated at cluster, index or shard level (options: cluster, indices, shards) @option arguments [Hash] :headers Custom HTTP headers

@see www.elastic.co/guide/en/elasticsearch/reference/8.16/searchable-snapshots-apis.html

# File lib/elasticsearch/api/actions/searchable_snapshots/stats.rb, line 33
def stats(arguments = {})
  request_opts = { endpoint: arguments[:endpoint] || 'searchable_snapshots.stats' }

  defined_params = [:index].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?

  arguments = arguments.clone
  headers = arguments.delete(:headers) || {}

  body   = nil

  _index = arguments.delete(:index)

  method = Elasticsearch::API::HTTP_GET
  path   = if _index
             "#{Utils.__listify(_index)}/_searchable_snapshots/stats"
           else
             '_searchable_snapshots/stats'
           end
  params = Utils.process_params(arguments)

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