Clinton Gormley > Elastic-Model > Elastic::Model::Alias

Download:
Elastic-Model-0.28.tar.gz

Dependencies

Annotate this POD

View/Report Bugs
Module Version: 0.28   Source   Latest Release: Elastic-Model-0.29_2-TRIAL

NAME ^

Elastic::Model::Alias - Administer aliases in Elasticsearch

VERSION ^

version 0.28

SYNOPSIS ^

    $alias = $model->namespace('myapp')->alias;
    $alias = $model->namespace('myapp')->alias('alias_name');

    $alias->to( 'index_1', 'index_2' );
    $alias->to( 'index_1' => \%settings, index_2 => \%settings);

    $alias->add( 'index_1', 'index_2' );
    $alias->add( 'index_1' => \%settings, index_2 => \%settings);

    $alias->remove( 'index_1', 'index_2' );

    \%indices = $alias->aliased_to;

See also "SYNOPSIS" in Elastic::Model::Role::Index.

DESCRIPTION ^

Elastic::Model::Alias objects are used to create and administer index aliases in an Elasticsearch cluster.

See Elastic::Model::Role::Index for more about usage. See Elastic::Manual::Scaling for more about how aliases can be used in your application.

METHODS ^

to()

    $alias = $alias->to(@index_names);
    $alias = $alias->to(
        index_name => \%alias_settings,
        ...
    );

Creates or updates the alias "name" and sets it to point to the listed indices. If it already exists and points to indices not specified in @index_names, then those indices will be removed from the alias.

You can delete an alias completely with:

    $alias->to();

Aliases can have filters and routing values associated with an index, for instance:

    $alias->to(
        my_index => {
            routing => 'client_one',
            filterb => { client => 'client_one'}
        }
    );

See Elastic::Manual::Scaling for more about these options.

add()

    $alias = $alias->add(@index_names);
    $alias = $alias->add(
        index_name => \%alias_settings,
        ...
    );

"add()" works in the same way as "to()" except that indices are only added - existing indices are not removed.

remove()

    $alias = $alias->remove(@index_names);

The listed index names are removed from alias "name".

aliased_to()

    $indices = $alias->aliased_to();

Returns a hashref of the current settings for an alias, suitable for passing to "to()". The keys are index names, and the values are the alias settings.

IMPORTED ATTRIBUTES ^

Attributes imported from Elastic::Model::Role::Index

namespace

name

IMPORTED METHODS ^

Methods imported from Elastic::Model::Role::Index

close()

open()

refresh()

delete()

update_analyzers()

update_settings()

delete_mapping()

is_alias()

is_index()

SEE ALSO ^

AUTHOR ^

Clinton Gormley <drtech@cpan.org>

COPYRIGHT AND LICENSE ^

This software is copyright (c) 2014 by Clinton Gormley.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.

syntax highlighting: