KinoSearch::Search::MultiSearcher - Aggregate results from multiple searchers.
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 $multi_searcher = KinoSearch::Search::MultiSearcher->new(
schema => $schema,
searchables => \@searchers,
);
my $hits = $multi_searcher->search( query => $query );
The primary use for MultiSearcher 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.
As a subclass of KinoSearch::Search::Searchable, MultiSearcher has nearly the same API as Searcher, except for the fact that at present, SortSpec is not supported.
my $multi_searcher = KinoSearch::Search::MultiSearcher->new(
schema => $schema,
searchables => \@searchers,
);
KinoSearch::Search::MultiSearcher isa KinoSearch::Search::Searchable isa KinoSearch::Obj.
Copyright 2005-2008 Marvin Humphrey
See KinoSearch version 0.20.