LucyX::Remote::SearchServer3pm
Make a searcher remotely accessible.
Usage
my $searcher = Lucy::Search::IndexSearcher->new(index => '/path/to/index');my $search_server = LucyX::Remote::SearchServer->new(searcher => $searcher);$search_server->serve(port => 7890);
Overview
The SearchServer class, in conjunction with either SearchClient or ClusterSearcher, makes it possible to run a search on one machine and report results on another.
By aggregating several SearchClients under a ClusterSearcher, the cost of searching what might have been a prohibitively large monolithic index can be distributed across multiple nodes, each with its own, smaller index.
Methods
new
my $search_server = LucyX::Remote::SearchServer->new(searcher => $searcher, # required);
Constructor. Takes hash-style parameters.
- •
-
searcher- the Searcher that the SearchServer will wrap.
serve
$search_server->serve(port => 7890, # required);
Open a listening socket on localhost and wait for SearchClients to connect.
- •
-
port- the port on localhost that the server should open and listen on.
serve_rpc
my $status = $search_server->serve_rpc($sock);
Handle a single RPC from socket $sock. Returns 'done' if the connection should be closed. Returns 'terminate' if the server should shut down. Returns 'continue' if the server should continue to handle requests from this client.
Releases
2 releases since Debian 8 (Jessie); the text changed 1 time.