Lucy::Search::IndexSearcher - Execute searches against a single index.
my $searcher = Lucy::Search::IndexSearcher->new( index => '/path/to/index' ); my $hits = $searcher->hits( query => 'foo bar', offset => 0, num_wanted => 100, );
Use the IndexSearcher class to perform search queries against an index. (For searching multiple indexes at once, see PolySearcher).
IndexSearchers operate against a single point-in-time view or Snapshot of the index. If an index is modified, a new IndexSearcher must be opened to access the changes.
my $searcher = Lucy::Search::IndexSearcher->new( index => '/path/to/index' );
Create a new IndexSearcher.
index - Either a string filepath, a Folder, or an IndexReader.
my $int = $index_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.
my $int = $index_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.
$index_searcher->collect( query => $query # required collector => $collector # required );
Iterate over hits, feeding them into a Collector.
query - A Query.
collector - A Collector.
my $hit_doc = $index_searcher->fetch_doc($doc_id);
Retrieve a document. Throws an error if the doc id is out of range.
doc_id - A document id.
my $index_reader = $index_searcher->get_reader();
Accessor for the object’s
Lucy::Search::IndexSearcher isa Lucy::Search::Searcher isa Clownfish::Obj.