Provided by: libkinosearch1-perl_1.01-6_amd64 bug

NAME

       KinoSearch1::Searcher - execute searches

SYNOPSIS

           my $analyzer = KinoSearch1::Analysis::PolyAnalyzer->new(
               language => 'en',
           );

           my $searcher = KinoSearch1::Searcher->new(
               invindex => $invindex,
               analyzer => $analyzer,
           );
           my $hits = $searcher->search( query => 'foo bar' );

DESCRIPTION

       Use the Searcher class to perform queries against an invindex.

METHODS

   new
           my $searcher = KinoSearch1::Searcher->new(
               invindex => $invindex,
               analyzer => $analyzer,
           );

       Constructor.  Takes two labeled parameters, both of which are required.

       •   invindex - can be either a path to an invindex, or a KinoSearch1::Store::InvIndex
           object.

       •   analyzer - An object which subclasses KinoSearch1::Analysis::Analyer, such as a
           PolyAnalyzer.  This must be identical to the Analyzer used at index-time, or the
           results won't match up.

   search
           my $hits = $searcher->search(
               query  => $query,  # required
               filter => $filter, # default: undef (no filtering)
           );

       Process a search and return a Hits object.  search() expects labeled hash-style
       parameters.

       •   query - Can be either an object which subclasses KinoSearch1::Search::Query, or a
           query string.  If it's a query string, it will be parsed using a QueryParser and a
           search will be performed against all indexed fields in the invindex.  For more
           sophisticated searching, supply Query objects, such as TermQuery and BooleanQuery.

       •   filter - Must be a KinoSearch1::Search::QueryFilter.  Search results will be limited
           to only those documents which pass through the filter.

Caching a Searcher

       When a Searcher is created, a small portion of the invindex is loaded into memory.  For
       large document collections, this startup time may become noticeable, in which case reusing
       the searcher is likely to speed up your search application.  Caching a Searcher is
       especially helpful when running a high-activity app under mod_perl.

       Searcher objects always represent a snapshot of an invindex as it existed when the
       Searcher was created.  If you want the search results to reflect modifications to an
       invindex, you must create a new Searcher after the update process completes.

COPYRIGHT

       Copyright 2005-2010 Marvin Humphrey

LICENSE, DISCLAIMER, BUGS, etc.

       See KinoSearch1 version 1.01.