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

NAME

KinoSearch::Search::Searchable - Base class for searchers.

SYNOPSIS

    # Abstract base class.

DESCRIPTION

Base class for searchers.

Abstract base class for objects which search. Core subclasses include KinoSearch::Searcher and KinoSearch::Search::PolySearcher.

CONSTRUCTORS

new( [labeled params] )

    package MySearchable;
    use base qw( KinoSearch::Search::Searchable );
    sub new {
        my $self = shift->SUPER::new;
        ...
        return $self;
    }

Abstract constructor.

  • schema - A KinoSearch::Schema.

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.

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.

get_schema()

Accessor for the object's schema member.

ABSTRACT METHODS

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 doc id. 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( [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.

INHERITANCE

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

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.