NAME

Data::AnyXfer::Elastic::IndexInfo - Object representing Elasticsearch information

SYNOPSIS

my %ad_hoc_info = (
    alias => 'interiors',
    silo => 'public_data',
    type => 'some_document_type', );

my $info =
    Data::AnyXfer::Elastic::IndexInfo->new(%ad_hoc_info);

# supplied to some routine and object requiring connection
# information / an IndexInfo field or argument...

my $datafile =
    Data::AnyXfer::Elastic::Import::DataFile->new(
    index_info => $info );

# or, do something with the IndexInfo interface...

my $index = $info->get_index;
$index->search( ... );

DESCRIPTION

This object can be used by Data::AnyXfer::Elastic to retrieve or supply Elasticsearch indexing / storage information.

This basically acts as connection information. This is a basic implementation and consumer of the Data::AnyXfer::Elastic::Role::IndexInfo role.

This module may be subclassed and pre-populated with connection information to provide useful per-package or project Elasticsearch information, which can then be used or advertised by any related modules.

SEE ALSO

Data::AnyXfer::Elastic::ImplementingAProject, Data::AnyXfer::Elastic

INDEXINFO INTERFACE

All "REQUIRED METHODS" in Data::AnyXfer::Elastic::Role::IndexInfo are implemented as attributes.

Only mappings, settings, warmers, and aliases are not required. All others are required (alias, silo, index and type)

Please see "REQUIRED METHODS" in Data::AnyXfer::Elastic::Role::IndexInfo for more details on the fields.

Extensions

connect_hint

A connection hint for use with L<Data::AnyXfer::Elastic>.

Currently supports C<undef> (unspecified), C<readonly>, or C<readwrite>.

as_hash

my $info = $index_info->as_hash;

Export all index information as a hash.

COPYRIGHT

This software is copyright (c) 2019, Anthony Lucas.

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