Author image Marvin Humphrey
and 1 contributors

NAME

KinoSearch::Search::SearchServer - Make a Searcher remotely accessible.

SYNOPSIS

    my $searcher = KinoSearch::Searcher->new(
        invindex => MySchema->read('path/to/invindex'),
    );
    my $search_server = KinoSearch::Search::SearchServer->new(
        searchable => $searcher,
        port       => 7890,
        password   => $pass,
    );
    $search_server->serve;

DESCRIPTION

The SearchServer class, in conjunction with SearchClient, makes it possible to run a search on one machine and report results on another.

By aggregating several SearchClients under a MultiSearcher, 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 = KinoSearch::Search::SearchServer->new(
        searchable => $searcher, # required
        port       => 7890,      # required
        password   => $pass,     # required
    );

Constructor. Takes hash-style parameters.

  • searchable - the Searcher that the SearchServer will wrap.

  • port - the port on localhost that the server should open and listen on.

  • password - a password which must be supplied by clients.

serve

    $search_server->serve;

Open a listening socket on localhost and wait for SearchClients to connect.

COPYRIGHT

Copyright 2006-2007 Marvin Humphrey

LICENSE, DISCLAIMER, BUGS, etc.

See KinoSearch version 0.20.