Lucy::Search::PolySearcher - Aggregate results from multiple Searchers.
my $schema = MySchema->new;
for my $server_name (@server_names) {
push @searchers, LucyX::Remote::SearchClient->new(
peer_address => "$server_name:$port",
password => $pass,
schema => $schema,
);
}
my $poly_searcher = Lucy::Search::PolySearcher->new(
schema => $schema,
searchers => \@searchers,
);
my $hits = $poly_searcher->hits( query => $query );
The primary use for PolySearcher is to aggregate results from several remote Searchers via LucyX::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.
my $poly_searcher = Lucy::Search::PolySearcher->new(
schema => $schema,
searchers => \@searchers,
);
schema - A Schema.
searchers - An array of Searchers.
Return a Hits object containing the top results.
query - Either a Query object or a query string.
offset - The number of most-relevant hits to discard, typically used when "paging" through hits N at a time. Setting offset
to 20 and num_wanted
to 10 retrieves hits 21-30, assuming that 30 hits can be found.
num_wanted - The number of hits you would like to see after offset
is taken into account.
sort_spec - A Lucy::Search::SortSpec, which will affect how results are ranked and returned.
Return the maximum number of docs in the collection represented by the Searcher, which is also the highest possible internal doc id. Documents which have been marked as deleted but not yet purged are included in this count.
Return the number of documents which contain the term in the given field.
field - Field name.
term - The term to look up.
Retrieve a document. Throws an error if the doc id is out of range.
doc_id - A document id.
Accessor for the object's schema
member.
Lucy::Search::PolySearcher isa Lucy::Search::Searcher isa Lucy::Object::Obj.