NAME

KinoSearch::Searcher - Execute searches against a single invindex.

SYNOPSIS

    my $searcher = KinoSearch::Searcher->new(
        invindex => MySchema->read('/path/to/invindex'),
    );
    my $hits = $searcher->search( 
        query      => 'foo bar' 
        offset     => 0,
        num_wanted => 100,
    );

DESCRIPTION

Use the Searcher class to perform search queries against an invindex. (For searching multiple indexes at once, see MultiSearcher).

CONSTRUCTOR

new( [labeled params] )

    my $searcher = KinoSearch::Searcher->new(
        invindex => MySchema->read('/path/to/invindex'),
    );
    # or...
    my $searcher = KinoSearch::Searcher->new( reader => $reader );

Either invindex or reader is required.

  • invindex - A KinoSearch::InvIndex.
  • reader - A KinoSearch::Index::IndexReader.

METHODS

search( [labeled params] )

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 KinoSearch::Search::SortSpec, which will affect how results are ranked and returned.

collect( [labeled params] )

Iterate over hits, feeding them into a HitCollector.

  • query - A Query.
  • collector - A HitCollector.

max_docs()

Return the maximum number of docs in the collection represented by the Searchable, which is also the largest possible doc number. Deleted docs are included in this count.

doc_freq( [labeled params] )

Return the number of documents which contain the term in the given field.

  • field - Field name.
  • term - The term to look up.

fetch_doc(doc_num)

Retrieve the stored fields for the given doc num, packaged as a HitDoc object. Throws an error if the doc num is out of range.

get_schema()

Accessor for the object's schema member.

get_reader()

Accessor for the object's reader member.

INHERITANCE

KinoSearch::Searcher isa KinoSearch::Search::Searchable isa KinoSearch::Obj.

COPYRIGHT

Copyright 2005-2008 Marvin Humphrey

LICENSE, DISCLAIMER, BUGS, etc.

See KinoSearch version 0.20.

Copyright © 2004-2008 Marvin Humphrey