NAME

KinoSearch::Search::PolySearcher - Aggregate results from multiple searchers.

SYNOPSIS

my $schema = MySchema->new;
for my $server_name (@server_names) {
    push @searchers, KSx::Remote::SearchClient->new(
        peer_address => "$server_name:$port",
        password     => $pass,
        schema       => $schema,
    );
}
my $poly_searcher = KinoSearch::Search::PolySearcher->new(
    schema      => $schema,
    searchables => \@searchers,
);
my $hits = $poly_searcher->hits( query => $query );

DESCRIPTION

The primary use for PolySearcher is to aggregate results from several remote searchers via KSx::Remote::SearchClient, diffusing the cost of searching a large corpus over multiple machines. It is also possible to aggregate results from multiple Searchers on a single machine.

CONSTRUCTORS

new( [labeled params] )

my $poly_searcher = KinoSearch::Search::PolySearcher->new(
    schema      => $schema,
    searchables => \@searchers,
);
  • schema - A Schema.

  • searchables - An array of Searchables.

INHERITANCE

KinoSearch::Search::PolySearcher isa KinoSearch::Search::Searchable isa KinoSearch::Obj.

COPYRIGHT

Copyright 2005-2009 Marvin Humphrey

LICENSE, DISCLAIMER, BUGS, etc.

See KinoSearch version 0.30.