Search::Elasticsearch::Client::7_0::Direct::Indices - A client for running index-level requests
version 7.717
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.
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
error_trace
human
include_type_name
master_timeout
timeout
update_all_types
wait_for_active_shards
See the create index docs 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.
Query string parameters: allow_no_indices, error_trace, expand_wildcards, flat_settings, human, ignore_unavailable, include_defaults, include_type_name, local, master_timeout
allow_no_indices
expand_wildcards
flat_settings
ignore_unavailable
include_defaults
local
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.
1
Query string parameters: allow_no_indices, error_trace, expand_wildcards, flat_settings, human, ignore_unavailable, include_defaults, local
See the index exists docs 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 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 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 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.
alias
Query string parameters: dry_run, error_trace, human, include_type_name, master_timeout, timeout, wait_for_active_shards
dry_run
See the rollover index docs 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
copy_settings
filter_path
See the shrink index docs for more information.
split()
$response = $e->split( index => $index, # required target => $target, # required );
The split API splits a shard into multiple shards.
See the split index docs 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 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.
See the unfreeze index docs 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
fielddata
fields
query
request
See the clear_cache docs 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 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.
fsync
Query string parameters: allow_no_indices, error_trace, expand_wildcards, force, human, ignore_unavailable, wait_if_ongoing
force
wait_if_ongoing
See the flush index docs 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.
sync_id
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 for more information.
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.
max_num_segments
Query string parameters: allow_no_indices, error_trace, expand_wildcards, flush, human, ignore_unavailable, max_num_segments, only_expunge_deletes
flush
only_expunge_deletes
See the forcemerge docs 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.
upgrade()
See the upgrade docs for more information.
$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
only_ancient_segments
wait_for_completion
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 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 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
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 for more information.
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 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' }} } );
See the put_alias docs 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.
See the get_alias docs 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.
See the exists_alias docs 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.
See the delete_alias docs for more information.
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
preserve_existing
See the put_settings docs 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 for more information.
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
create
order
See the put_template docs 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 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
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
version
version_type
See the delete_template docs for more information.
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.
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
_all
completion
docs
filter_cache
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
completion_fields
fielddata_fields
groups
include_segment_file_sizes
level
types
See the stats docs 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
active_only
detailed
See the recovery docs 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
verbose
See the segments docs 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
status
See the shard_stores docs for more information.
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.
body
analyzer
tokenizer
filter
Query string parameters: error_trace, human
See the analyze docs 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.
explain
true
Query string parameters: all_shards, allow_no_indices, analyze_wildcard, analyzer, default_operator, df, error_trace, explain, expand_wildcards, ignore_unavailable, lenient, q, rewrite
all_shards
analyze_wildcard
default_operator
df
lenient
q
rewrite
See the validate_query docs for more information.
Enrico Zimuel <enrico.zimuel@elastic.co>
This software is Copyright (c) 2022 by Elasticsearch BV.
This is free software, licensed under:
The Apache License, Version 2.0, January 2004
To install Search::Elasticsearch::Client::7_0, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Search::Elasticsearch::Client::7_0
CPAN shell
perl -MCPAN -e shell install Search::Elasticsearch::Client::7_0
For more information on module installation, please visit the detailed CPAN module installation guide.