# Auto-generated file -- DO NOT EDIT!!!!!

=head1 NAME

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

=head1 SYNOPSIS

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



=head1 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
L<PolySearcher|KinoSearch::Search::PolySearcher>).

=head1 CONSTRUCTORS

=head2 new( I<[labeled params]> )

    my $searcher = KinoSearch::Searcher->new( index => '/path/to/index' );

=over

=item *

B<index> - Either a string filepath, a Folder, or an IndexReader.

=back



=head1 METHODS

=head2 hits( I<[labeled params]> )

Return a Hits object containing the top results.

=over

=item *

B<query> - Either a Query object or a query string.

=item *

B<offset> - The number of most-relevant hits to discard, typically
used when "paging" through hits N at a time.  Setting
C<< offset >> to 20 and C<< num_wanted >> to 10 retrieves
hits 21-30, assuming that 30 hits can be found.

=item *

B<num_wanted> - The number of hits you would like to see after
C<< offset >> is taken into account.

=item *

B<sort_spec> - A L<KinoSearch::Search::SortSpec>, which will affect
how results are ranked and returned.

=back

=head2 collect( I<[labeled params]> )

Iterate over hits, feeding them into a
L<HitCollector|KinoSearch::Search::HitCollector>.

=over

=item *

B<query> - A Query.

=item *

B<collector> - A HitCollector.

=back

=head2 doc_max()

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

=head2 doc_freq( I<[labeled params]> )

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

=over

=item *

B<field> - Field name.

=item *

B<term> - The term to look up.

=back

=head2 fetch_doc( I<[labeled params]> )

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

=over

=item *

B<doc_id> - A document id.

=item *

B<score> - A floating point score.

=item *

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

=back

=head2 get_schema()

Accessor for the object's C<< schema >> member.

=head2 get_reader()

Accessor for the object's C<< reader >> member.





=head1 INHERITANCE

KinoSearch::Searcher isa L<KinoSearch::Search::Searchable> isa L<KinoSearch::Obj>.


=head1 COPYRIGHT AND LICENSE

Copyright 2005-2009 Marvin Humphrey

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

=cut