Provided by: libsearch-elasticsearch-perl_8.12-1_all bug

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

perl v5.38.2                                       2024-02-04             Search::Elasticsearch::TestServer(3pm)