The Perl and Raku Conference 2025: Greenville, South Carolina - June 27-29 Learn more

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.