NAME

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

SYNOPSIS

    # Abstract base class.

DESCRIPTION

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

CONSTRUCTOR

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

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.

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.

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.

INHERITANCE

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