The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

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

SYNOPSIS

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

DESCRIPTION

Execute searches against a single index.

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

CONSTRUCTORS

new( [labeled params] )

    my $searcher = KinoSearch::Searcher->new( index => '/path/to/index' );
  • index - Either a string filepath, a Folder, or an IndexReader.

METHODS

hits( [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.

doc_max()

Return the maximum number of docs in the collection represented by the Searchable, 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( [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( [labeled params] )

Retrieve a document. Throws an error if the doc id is out of range.

  • doc_id - A document id.

  • score - A floating point score.

  • offset - Amount to be added to the doc_id if this Searchable is a subcomponent of another.

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::Object::Obj.

COPYRIGHT AND LICENSE

Copyright 2005-2010 Marvin Humphrey

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.