Provided by: libsearch-elasticsearch-perl_8.12-1_all bug

NAME

       Search::Elasticsearch::Client::8_0::Direct::Indices - A client for running index-level
       requests

VERSION

       version 8.12

DESCRIPTION

       This module provides methods to make index-level requests, such as creating and deleting
       indices, managing type mappings, index settings, index templates and aliases.

       It does Search::Elasticsearch::Role::Client::Direct.

INDEX METHODS

   create()
           $result = $e->indices->create(
               index => 'my_index'             # required

               body  => {                      # optional
                   index settings
                   mappings
                   aliases
               }
           );

       The create() method is used to create an index. Optionally, index settings, type mappings,
       and aliases can be added at the same time.

       Query string parameters:
           "error_trace",
           "human",
           "include_type_name",
           "master_timeout",
           "timeout",
           "update_all_types",
           "wait_for_active_shards"

       See the create index docs
       <http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-create-index.html>
       for more information.

   get()
           $response = $e->indices->get(
               index   => 'index'   | \@indices    # required
           );

       Returns the aliases, settings, and mappings for the specified indices.

       See the get index docs
       <http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-get-index.html>.

       Query string parameters:
           "allow_no_indices",
           "error_trace",
           "expand_wildcards",
           "flat_settings",
           "human",
           "ignore_unavailable",
           "include_defaults",
           "include_type_name",
           "local",
           "master_timeout"

   exists()
           $bool = $e->indices->exists(
               index => 'index' | \@indices    # required
           );

       The exists() method returns 1 or the empty string to indicate whether the specified index
       or indices exist.

       Query string parameters:
           "allow_no_indices",
           "error_trace",
           "expand_wildcards",
           "flat_settings",
           "human",
           "ignore_unavailable",
           "include_defaults",
           "local"

       See the index exists docs
       <http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-indices-
       exists.html> for more information.

   delete()
           $response = $e->indices->delete(
               index => 'index' | \@indices    # required
           );

       The delete() method deletes the specified indices.

       Query string parameters:
           "allow_no_indices",
           "error_trace",
           "expand_wildcards",
           "human",
           "ignore_unavailable",
           "master_timeout",
           "timeout"

       See the delete index docs
       <http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-delete-index.html>
       for more information.

   close()
           $response = $e->indices->close(
               index => 'index' | \@indices    # required
           );

       The close() method closes the specified indices, reducing resource usage but allowing them
       to be reopened later.

       Query string parameters:
           "allow_no_indices",
           "error_trace",
           "expand_wildcards",
           "human",
           "ignore_unavailable"
           "master_timeout",
           "timeout"

       See the close index docs
       <http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-open-close.html>
       for more information.

   open()
           $response = $e->indices->open(
               index => 'index' | \@indices    # required
           );

       The open() method opens closed indices.

       Query string parameters:
           "allow_no_indices",
           "error_trace",
           "expand_wildcards",
           "human",
           "ignore_unavailable"
           "master_timeout",
           "timeout",
           "wait_for_active_shards"

       See the open index docs
       <http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-open-close.html>
       for more information.

   rollover()
           $response = $e->indices->rollover(
               alias     => $alias,                    # required
               new_index => $index,                    # optional
               body      => { rollover conditions }    # optional
           );

       Rollover an index pointed to by "alias" if it meets rollover conditions (eg max age, max
       docs) to a new index name.

       Query string parameters:
           "dry_run",
           "error_trace",
           "human",
           "include_type_name",
           "master_timeout",
           "timeout",
           "wait_for_active_shards"

       See the rollover index docs
       <https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-rollover-
       index.html> for more information.

   shrink()
           $response = $e->shrink(
               index  => $index,                           # required
               target => $target,                          # required
               body   => { mappings, settings aliases }    # optional
           );

       The shrink API shrinks the shards of an index down to a single shard (or to a factor of
       the original shards).

       Query string parameters:
           "copy_settings",
           "error_trace",
           "filter_path",
           "human",
           "master_timeout",
           "timeout",
           "wait_for_active_shards"

       See the shrink index docs
       <https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-shrink-
       index.html> for more information.

   split()
           $response = $e->split(
               index  => $index,                           # required
               target => $target,                          # required
           );

       The split API splits a shard into multiple shards.

       Query string parameters:
           "copy_settings",
           "error_trace",
           "filter_path",
           "human",
           "master_timeout",
           "timeout",
           "wait_for_active_shards"

       See the split index docs
       <https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-split-index.html>
       for more information.

   freeze()
           $response = $e->indices->freeze(
               $index => $index    # required
           );

       The freeze() API is used to freeze an index, which puts it in a state which has almost no
       overhead on the cluster.

       Query string parameters:
           "allow_no_indices",
           "error_trace",
           "expand_wildcards",
           "filter_path",
           "human",
           "ignore_unavailable",
           "master_timeout",
           "timeout",
           "wait_for_active_shards"

       See the freeze index docs
       <https://www.elastic.co/guide/en/elasticsearch/reference/current/freeze-index-api.html>
       for more information.

   unfreeze()
           $response = $e->indices->unfreeze(
               $index => $index    # required
           );

       The unfreeze() API is used to return a frozen index to its normal state.

       Query string parameters:
           "allow_no_indices",
           "error_trace",
           "expand_wildcards",
           "filter_path",
           "human",
           "ignore_unavailable",
           "master_timeout",
           "timeout",
           "wait_for_active_shards"

       See the unfreeze index docs
       <https://www.elastic.co/guide/en/elasticsearch/reference/current/freeze-index-api.html>
       for more information.

   clear_cache()
           $response = $e->indices->clear_cache(
               index => 'index' | \@indices        # optional
           );

       The clear_cache() method is used to clear the in-memory filter, fielddata, or id cache for
       the specified indices.

       Query string parameters:
           "allow_no_indices",
           "error_trace",
           "expand_wildcards",
           "fielddata",
           "fields",
           "human",
           "ignore_unavailable",
           "query",
           "request"

       See the clear_cache docs
       <http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-clearcache.html>
       for more information.

   refresh()
           $response = $e->indices->refresh(
               index => 'index' | \@indices    # optional
           );

       The refresh() method refreshes the specified indices (or all indices), allowing recent
       changes to become visible to search. This process normally happens automatically once
       every second by default.

       Query string parameters:
           "allow_no_indices",
           "error_trace",
           "expand_wildcards",
           "human",
           "ignore_unavailable"

       See the refresh index docs
       <http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-refresh.html> for
       more information.

   flush()
           $response = $e->indices->flush(
               index => 'index' | \@indices    # optional
           );

       The flush() method causes the specified indices (or all indices) to be written to disk
       with an "fsync", and clears out the transaction log.  This process normally happens
       automatically.

       Query string parameters:
           "allow_no_indices",
           "error_trace",
           "expand_wildcards",
           "force",
           "human",
           "ignore_unavailable",
           "wait_if_ongoing"

       See the flush index docs
       <http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-flush.html> for
       more information.

   flush_synced()
           $respnse = $e->indices->flush_synced(
               index => 'index' | \@indices    # optional
           );

       The flush_synced() method does a synchronised flush() on the primaries and replicas of all
       the specified indices.  In other words, after flushing it tries to write a "sync_id" on
       the primaries and replicas to mark them as containing the same documents.  During
       recovery, if a replica has the same "sync_id" as the primary, then it doesn't need to
       check whether the segment files on primary and replica are the same, and it can move on
       directly to just replaying the translog.  This can greatly speed up recovery.

       Synced flushes happens automatically in the background on indices that have not received
       any writes for a while, but the flush_synced() method can be used to trigger this process
       manually, eg before shutting down.  Any new commits immediately break the sync.

       See the flush synced docs
       <http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-synced-flush.html>
       for more information.

       Query string parameters:
           "allow_no_indices",
           "error_trace",
           "expand_wildcards",
           "human",
           "ignore_unavailable"

   forcemerge()
           $response = $e->indices->forcemerge(
               index => 'index' | \@indices    # optional
           );

       The forcemerge() method rewrites all the data in an index into at most "max_num_segments".
       This is a very heavy operation and should only be run with care, and only on indices that
       are no longer being updated.

       Query string parameters:
           "allow_no_indices",
           "error_trace",
           "expand_wildcards",
           "flush",
           "human",
           "ignore_unavailable",
           "max_num_segments",
           "only_expunge_deletes"

       See the forcemerge docs
       <http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-forcemerge.html>
       for more information.

   get_upgrade()
           $response = $e->indices->get_upgrade(
               index => 'index' | \@indices    # optional
           );

       The get_upgrade() method returns information about which indices need to be upgraded,
       which can be done with the upgrade() method.

       Query string parameters:
           "allow_no_indices",
           "error_trace",
           "expand_wildcards",
           "human",
           "ignore_unavailable"

       See the upgrade docs
       <http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-upgrade.html> for
       more information.

   upgrade()
           $response = $e->indices->upgrade(
               index => 'index' | \@indices    # optional
           );

       The upgrade() method upgrades all segments in the specified indices to the latest format.

       Query string parameters:
           "allow_no_indices",
           "error_trace",
           "expand_wildcards",
           "human",
           "ignore_unavailable",
           "only_ancient_segments",
           "wait_for_completion"

       See the upgrade docs
       <http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-upgrade.html> for
       more information.

MAPPING METHODS

   put_mapping()
           $response = $e->indices->put_mapping(
               index => 'index' | \@indices    # optional,
               type  => 'type',                # optional

               body  => { mapping }            # required
           )

       The put_mapping() method is used to create or update a type mapping on an existing index.
       Mapping updates are allowed to add new fields, but not to overwrite or change existing
       fields.

       For instance:

           $response = $e->indices->put_mapping(
               index   => 'users',
               type    => 'user',
               body    => {
                   user => {
                       properties => {
                           name => { type => 'string'  },
                           age  => { type => 'integer' }
                       }
                   }
               }
           );

       Query string parameters:
           "allow_no_indices",
           "error_trace",
           "expand_wildcards",
           "human",
           "ignore_unavailable",
           "include_type_name",
           "master_timeout",
           "timeout",
           "update_all_types"

       See the put_mapping docs
       <http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-put-mapping.html>
       for more information.

   get_mapping()
           $result = $e->indices->get_mapping(
               index => 'index' | \@indices    # optional,
               type  => 'type'  | \@types      # optional
           );

       The get_mapping() method returns the type definitions for one, more or all types in one,
       more or all indices.

       Query string parameters:
           "allow_no_indices",
           "error_trace",
           "expand_wildcards",
           "human",
           "ignore_unavailable",
           "include_type_name",
           "local",
           "master_timeout"

       See the get_mapping docs
       <http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-get-mapping.html>
       for more information.

   get_field_mapping()
           $result = $e->indices->get_field_mapping(
               index => 'index'  | \@indices    # optional,
               type  => 'type'   | \@types      # optional,
               fields => 'field' | \@fields     # required

               include_defaults => 0 | 1
           );

       The get_field_mapping() method returns the field definitions for one, more or all fields
       in one, more or all types and indices.

       Query string parameters:
           "allow_no_indices",
           "error_trace",
           "expand_wildcards",
           "human",
           "ignore_unavailable",
           "include_defaults",
           "include_type_name",
           "local"

       See the get_mapping docs
       <http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-get-field-
       mapping.html> for more information.

   exists_type()
           $bool = $e->indices->exists_type(
               index => 'index' | \@indices    # required,
               type  => 'type'  | \@types      # required
           );

       The exists_type() method checks for the existence of all specified types in all specified
       indices, and returns 1 or the empty string.

       Query string parameters:
           "allow_no_indices",
           "error_trace",
           "expand_wildcards",
           "human",
           "ignore_unavailable",
           "local"

       See the exists_type docs
       <http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-types-exists.html>
       for more information.

ALIAS METHODS

   update_aliases()
           $response = $e->indices->update_aliases(
               body => { actions }             # required
           );

       The update_aliases() method changes (by adding or removing) multiple index aliases
       atomically. For instance:

           $response = $e->indices->update_aliases(
               body => {
                   actions => [
                       { add    => { alias => 'current', index => 'logs_2013_09' }},
                       { remove => { alias => 'current', index => 'logs_2013_08' }}
                   ]
               }
           );

       Query string parameters:
           "error_trace",
           "human",
           "master_timeout",
           "timeout"

       See the update_aliases docs
       <http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-aliases.html> for
       more information.

   put_alias()
           $response = $e->indices->put_alias(
               index => 'index' | \@indices,       # required
               name  => 'alias',                   # required

               body  => { alias defn }             # optional
           );

       The put_alias() method creates an index alias. For instance:

           $response = $e->indices->put_alias(
               index => 'my_index',
               name  => 'twitter',
               body => {
                   filter => { term => { user_id => 'twitter' }}
               }
           );

       Query string parameters:
           "error_trace",
           "human",
           "master_timeout",
           "timeout"

       See the put_alias docs
       <http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-aliases.html> for
       more information.

   get_alias()
           $result = $e->indices->get_alias(
               index   => 'index' | \@indices,     # optional
               name    => 'alias' | \@aliases      # optional
           );

       The get_alias() method returns the alias definitions for the specified aliases in the
       specified indices.

       Query string parameters:
           "allow_no_indices",
           "error_trace",
           "expand_wildcards",
           "human",
           "ignore_unavailable",
           "local"

       See the get_alias docs
       <http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-aliases.html> for
       more information.

   exists_alias()
           $bool = $e->indices->exists_alias(
               index   => 'index' | \@indices,     # optional
               name    => 'alias' | \@aliases      # required
           );

       The exists_alias() method returns 1 or the empty string depending on whether the specified
       aliases exist in the specified indices.

       Query string parameters:
           "allow_no_indices",
           "error_trace",
           "expand_wildcards",
           "human",
           "ignore_unavailable",
           "local"

       See the exists_alias docs
       <http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-aliases.html> for
       more information.

   delete_alias()
           $response = $e->indices->delete_alias(
               index   => 'index' | \@indices        # required,
               name    => 'alias' | \@aliases        # required
           );

       The delete_alias() method deletes one or more aliases from one or more indices.

       Query string parameters:
           "error_trace",
           "human",
           "master_timeout",
           "timeout"

       See the delete_alias docs
       <http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-aliases.html> for
       more information.

SETTINGS METHODS

   put_settings()
           $response = $e->indices->put_settings(
               index   => 'index' | \@indices      # optional

               body    => { settings }
           );

       The put_settings() method sets the index settings for the specified indices or all
       indices. For instance:

           $response = $e->indices->put_settings(
               body => {
                   "index.refresh_interval" => -1
               }
           );

       Query string parameters:
           "allow_no_indices",
           "error_trace",
           "expand_wildcards",
           "flat_settings",
           "human",
           "ignore_unavailable",
           "master_timeout",
           "preserve_existing",
           "timeout"

       See the put_settings docs
       <http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-update-
       settings.html> for more information.

   get_settings()
           $result = $e->indices->get_settings(
               index   => 'index' | \@indices      # optional
               name    => 'name'  | \@names        # optional
           );

       The get_settings() method retrieves the index settings for the specified indices or all
       indices.

       Query string parameters:
           "allow_no_indices",
           "error_trace",
           "expand_wildcards",
           "flat_settings",
           "human",
           "ignore_unavailable",
           "include_defaults",
           "local",
           "master_timeout"

       See the get_settings docs
       <http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-get-settings.html>
       for more information.

TEMPLATE METHODS

   put_template()
           $response = $e->indices->put_template(
               name => 'template'                  # required
               body => { template defn }           # required
           );

       The put_template() method is used to create or update index templates.

       Query string parameters:
           "create",
           "error_trace",
           "flat_settings",
           "human",
           "include_type_name",
           "master_timeout",
           "order",
           "timeout"

       See the put_template docs
       <http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-templates.html>
       for more information.

   get_template()
           $result = $e->indices->get_template(
               name  => 'template' | \@templates # optional
           );

       The get_template() method is used to retrieve a named template.

       Query string parameters:
           "error_trace",
           "flat_settings",
           "human",
           "include_type_name",
           "local",
           "master_timeout"

       See the get_template docs
       <http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-templates.html>
       for more information.

   exists_template()
           $result = $e->indices->exists_template(
               name  => 'template'                 # optional
           );

       The exists_template() method is used to check whether the named template exists.

       Query string parameters:
           "error_trace",
           "flat_settings",
           "human",
           "local",
           "master_timeout"

       See the get_template docs
       <http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-templates.html>
       for more information.

   delete_template()
           $response = $e->indices->delete_template(
               name  => 'template'                 # required
           );

       The delete_template() method is used to delete a named template.

       Query string parameters:
           "error_trace",
           "human",
           "master_timeout",
           "timeout",
           "version",
           "version_type"

       See the delete_template docs
       <http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-templates.html>
       for more information.

STATS METHODS

   stats()
           $result = $e->indices->stats(
               index   => 'index'  | \@indices      # optional
               metric  => 'metric' | \@metrics      # optional
           );

       The stats() method returns statistical information about one, more or all indices. By
       default it returns all metrics, but you can limit which metrics are returned by specifying
       the "metric".

       Allowed metrics are:
           "_all",
           "completion"
           "docs",
           "fielddata",
           "filter_cache",
           "flush",
           "get",
           "id_cache",
           "indexing",
           "merge",
           "percolate",
           "query_cache",
           "refresh",
           "request_cache",
           "search",
           "segments",
           "store"

       Query string parameters:
           "completion_fields",
           "error_trace",
           "fielddata_fields",
           "fields",
           "groups",
           "human",
           "include_segment_file_sizes",
           "level",
           "types"

       See the stats docs
       <http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-stats.html> for
       more information.

   recovery()
           $result = $e->indices->recovery(
               index   => 'index' | \@indices      # optional
           );

       Provides insight into on-going shard recoveries.

       Query string parameters:
           "active_only",
           "detailed",
           "error_trace",
           "human"

       See the recovery docs
       <http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-recovery.html> for
       more information.

   segments()
           $result = $e->indices->segments(
               index   => 'index' | \@indices      # optional
           );

       The segments() method is used to return information about the segments that an index
       contains.

       Query string parameters:
           "allow_no_indices",
           "error_trace",
           "expand_wildcards",
           "human",
           "ignore_unavailable",
           "verbose"

       See the segments docs
       <http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-segments.html> for
       more information.

   shard_stores()
           $result = $e->indices->shard_stores(
               index   => 'index' | \@indices      # optional
           );

       The shard_stores() method is used to find out which nodes contain copies of which shards,
       whether the shards are allocated or not.

       Query string parameters:
           "allow_no_indices",
           "error_trace",
           "expand_wildcards",
           "human",
           "ignore_unavailable",
           "status"

       See the shard_stores docs
       <http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-shards-
       stores.html> for more information.

QUERY AND ANALYSIS METHODS

   analyze()
           $result = $e->indices->analyze(
               index   => 'index'                  # optional,
               body    => 'text to analyze'
           );

       The analyze() method passes the text in the "body" through the specified "analyzer",
       "tokenizer" or token "filter" - which may be global, or associated with a particular index
       or field - and returns the tokens.  Very useful for debugging analyzer configurations.

       Query string parameters:
           "error_trace",
           "human"

       See the analyze docs
       <http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-analyze.html> for
       more information.

   validate_query()
           $result = $e->indices->validate_query(
               index   => 'index' | \@indices,     # optional
               type    => 'type'  | \@types,       # optional

               body    => { query }
           );

       The validate_query() method accepts a query in the "body" and checks whether the query is
       valid or not.  Most useful when "explain" is set to "true", in which case it includes an
       execution plan in the output.

       Query string parameters:
           "all_shards",
           "allow_no_indices",
           "analyze_wildcard",
           "analyzer",
           "default_operator",
           "df",
           "error_trace",
           "explain",
           "expand_wildcards",
           "ignore_unavailable",
           "lenient",
           "q",
           "rewrite"

       See the validate_query docs
       <http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-validate.html> for
       more information.

AUTHOR

       Enrico Zimuel <enrico.zimuel@elastic.co>

COPYRIGHT AND LICENSE

       This software is Copyright (c) 2024 by Elasticsearch BV.

       This is free software, licensed under:

         The Apache License, Version 2.0, January 2004

perl v5.38.2                             Search::Elasticsearch::Client::8_0::Direct::Indices(3pm)