table of contents
| Search::Elasticsearch::TestServer(3pm) | User Contributed Perl Documentation | Search::Elasticsearch::TestServer(3pm) |
NAME¶
Search::Elasticsearch::TestServer - A helper class to launch Elasticsearch nodes
VERSION¶
version 8.12
SYNOPSIS¶
use Search::Elasticsearch;
use Search::Elasticsearch::TestServer;
my $server = Search::Elasticsearch::TestServer->new(
es_home => '/path/to/elasticsearch', # defaults to $ENV{ES_HOME}
es_version => '6_0' # defaults to $ENV{ES_VERSION}
);
my $nodes = $server->start;
my $es = Search::Elasticsearch->new( nodes => $nodes );
# run tests
$server->shutdown;
DESCRIPTION¶
The Search::Elasticsearch::TestServer class can be used to launch one or more instances of Elasticsearch for testing purposes. The nodes will be shutdown automatically.
METHODS¶
new()¶
my $server = Search::Elasticsearch::TestServer->new(
es_home => '/path/to/elasticsearch',
es_version => '6_0',
instances => 1,
http_port => 9600,
es_port => 9700,
conf => ['attr.foo=bar'],
);
Params:
- "es_home"
Required. Must point to the Elasticsearch home directory, which contains "./bin/elasticsearch". Defaults to $ENV{ES_HOME}
- "es_version"
Required. Accepts a version of the client, eg `6_0`, `5_0`, `2_0`, `1_0`, `0_90`. Defaults to $ENV{ES_VERSION}.
- "instances"
The number of nodes to start. Defaults to 1
- "http_port"
The port to use for HTTP. If multiple instances are started, the "http_port" will be incremented for each subsequent instance. Defaults to 9600.
- "es_port"
The port to use for Elasticsearch's internal transport. If multiple instances are started, the "es_port" will be incremented for each subsequent instance. Defaults to 9700
- "conf"
An array containing any extra startup options that should be passed to Elasticsearch.
start()¶
$nodes = $server->start;
Starts the required instances and returns an array ref containing the IP and port of each node, suitable for passing to "new()" in Search::Elasticsearch:
$es = Search::Elasticsearch->new( nodes => $nodes );
shutdown()¶
$server->shutdown;
Kills the running instances. This will be called automatically when $server goes out of scope or if the program receives a "SIGINT".
AUTHOR¶
Enrico Zimuel <enrico.zimuel@elastic.co>
COPYRIGHT AND LICENSE¶
This software is Copyright (c) 2024 by Elasticsearch BV.
This is free software, licensed under:
The Apache License, Version 2.0, January 2004
| 2024-02-04 | perl v5.38.2 |