# Auto-generated file -- DO NOT EDIT!!!!! =head1 NAME KinoSearch::Search::Searchable - Base class for searchers. =head1 SYNOPSIS # Abstract base class. =head1 DESCRIPTION Abstract base class for objects which search. Core subclasses include L and L. =head1 CONSTRUCTORS =head2 new( I<[labeled params]> ) package MySearchable; use base qw( KinoSearch::Search::Searchable ); sub new { my $self = shift->SUPER::new; ... return $self; } Abstract constructor. =over =item * B - A KinoSearch::Schema. =back =head1 METHODS =head2 hits( I<[labeled params]> ) Return a Hits object containing the top results. =over =item * B - Either a Query object or a query string. =item * B - 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 - The number of hits you would like to see after C<< offset >> is taken into account. =item * B - A L, which will affect how results are ranked and returned. =back =head2 glean_query(query) If the supplied object is a Query, return it; if it's a query string, create a QueryParser and parse it to produce a query against all indexed fields. =head2 get_schema() Accessor for the object's C<< schema >> member. =head1 ABSTRACT METHODS =head2 collect( I<[labeled params]> ) Iterate over hits, feeding them into a L. =over =item * B - A Query. =item * B - 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 name. =item * B - 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 - A document id. =item * B - A floating point score. =item * B - Amount to be added to the doc_id if this Searchable is a subcomponent of another. =back =head1 INHERITANCE KinoSearch::Search::Searchable isa L. =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