NAME
Lucy::Search::PolySearcher - Aggregate results from multiple Searchers.
SYNOPSIS
my $schema = MySchema->new;
for my $index (@index_paths) {
push @searchers, Lucy::Search::IndexSearcher->new( index => $index );
}
my $poly_searcher = Lucy::Search::PolySearcher->new(
schema => $schema,
searchers => \@searchers,
);
my $hits = $poly_searcher->hits( query => $query );
DESCRIPTION
The primary use for PolySearcher is to aggregate results from several indexes on a single machine.
CONSTRUCTORS
new
my $poly_searcher = Lucy::Search::PolySearcher->new(
schema => $schema,
searchers => \@searchers,
);
Create a new PolySearcher.
schema - A Schema.
searchers - An array of Searchers.
METHODS
doc_max
my $int = $poly_searcher->doc_max();
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.
doc_freq
my $int = $poly_searcher->doc_freq(
field => $field, # required
term => $term, # required
);
Return the number of documents which contain the term in the given field.
field - Field name.
term - The term to look up.
collect
$poly_searcher->collect(
query => $query, # required
collector => $collector, # required
);
Iterate over hits, feeding them into a Collector.
query - A Query.
collector - A Collector.
fetch_doc
my $hit_doc = $poly_searcher->fetch_doc($doc_id);
Retrieve a document. Throws an error if the doc id is out of range.
doc_id - A document id.
INHERITANCE
Lucy::Search::PolySearcher isa Lucy::Search::Searcher isa Clownfish::Obj.