Data::AnyXfer::Elastic - Elasticsearch support for Data::AnyXfer
This module is responisble for connecting to the correct elasticsearch server(s), depending on the execution environment. It is the foundation of all Elasticsearch modules and is extended by Elasticsearch Wrapper modules.
my $elasticsearch = Data::AnyXfer::Elastic->new(); $elasticsearch->ping(); $elasticsearch->connected_to_servers();
Version: 1.8
L<Search::Elasticsearch> L<http://www.elasticsearch.org/>
DATA_ANYXFER_ES_DEBUG
Enables tracing on the underlying elasticsearch client when true.
If the value is a truthy string, and not the number 1, it will be taken as the target to trace to. Acceptable values are: Stderr, Stdout, or a filename.
1
Stderr
Stdout
When set to 1 defaults to Stdout.
elasticsearch
my $es = Data::AnyXfer::Elastic->new->elasticsearch(); Returns a Search::Elasticsearch::Client::Direct object for direct usage. In practice wrapper modules should be used. Data::AnyXfer::Elastic::(.*). This should be used sparingly and only in circumstances where a wrapper module cannot be used.
is_inject_index_and_type()
If this attribute is set to true then index name and type is automatically injected into each method when called. Currently this is only used with L<Data::AnyXfer::Elastic::Index>.
available_servers
Returns a default configured instance of this package (Data::AnyXfer::Elastic).
Data::AnyXfer::Elastic
Returns the default path that will be used for persisting datafiles, as a Path::Class::Dir object.
This can be set via environment variable DATA_ANYXFER_ES_DATAFILE_DIR.
DATA_ANYXFER_ES_DATAFILE_DIR
ping()
my $bool = Data::AnyXfer::Elastic->new->ping(); Returns 1 if able to ping elasticsearch server(s), throws an error otherwise.
build_client
my $client = $self->build_client( nodes => [ qw/ some-node-1:9200 some-node-2:9200 / ] );
Returns an Search::Elasticsearch::Client::Direct object for the supplied nodes.
Search::Elasticsearch::Client::Direct
client_for(silo_name)
my $elastic = Data::AnyXfer::Elastic->new; # Connects to the nearest elasticsearch cluster used for most senarios # where the data can be public $es = $elastic->client_for('public_data'); # Private data for internal use only, croaks on an app server $es = $elastic->client_for('private_data');
Returns an Search::Elasticsearch::Client::Direct object for the requested silo.
all_clients_for(silo_name)
my $elastic = Data::AnyXfer::Elastic->new; # Get all clients my @targets = $elastic->all_clients_for('all'); # Get just the internal cluster clients my @targets = $elastic->all_clients_for('private_data'); # Get just the 6dg cluster clients my @targets = $elastic->all_clients_for('public_data');
Returns a list of Search::Elasticsearch::Client::Direct object for the appropriate machine and cluster type.
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.
To install Data::AnyXfer, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Data::AnyXfer
CPAN shell
perl -MCPAN -e shell install Data::AnyXfer
For more information on module installation, please visit the detailed CPAN module installation guide.