++ed by:
ARISTOTLE ASHLEY JETEVE KEEDI NWELLNHOF

6 PAUSE user(s)
3 non-PAUSE user(s).

Marvin Humphrey

NAME

LucyX::Remote::SearchServer - Make a Searcher remotely accessible.

SYNOPSIS

    my $searcher = Lucy::Search::IndexSearcher->new( 
        index => '/path/to/index' 
    );
    my $search_server = LucyX::Remote::SearchServer->new(
        searcher => $searcher
    );
    $search_server->serve(
        port => 7890
    );

DESCRIPTION

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.




Hosting generously
sponsored by Bytemark