KinoSearch1::Searcher(User Contributed Perl DocumentatKinoSearch1::Searcher(3)NAMEKinoSearch1::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.
perl v5.14.1 2011-06-20 KinoSearch1::Searcher(3)