KinoSearch::Search::QuUser3Contributed Perl DocumeKinoSearch::Search::Query(3)NAMEKinoSearch::Search::Query - A specification for a search query.
SYNOPSIS
# Query is an abstract base class.
package MyQuery;
use base qw( KinoSearch::Search::Query );
sub make_compiler {
my $self = shift;
return MyCompiler->new( @_, parent => $self );
}
package MyCompiler;
use base ( KinoSearch::Search::Compiler );
...
DESCRIPTION
Query objects are simple containers which contain the minimum
information necessary to define a search query.
The most common way to generate Query objects is to feed a search
string such as 'foo AND bar' to a QueryParser's parse() method, which
outputs an abstract syntax tree built up from various Query subclasses
such as ANDQuery and TermQuery. However, it is also possible to use
custom Query objects to build a search specification which cannot be
easily represented using a search string.
Subclasses of Query must implement make_compiler(), which is the first
step in compiling a Query down to a Matcher which can actually match
and score documents.
CONSTRUCTORS
new( [labeled params] )
my $query = MyQuery->SUPER::new(
boost => 2.5,
);
Abstract constructor.
· boost - A scoring multiplier, affecting the Query's relative
contribution to each document's score. Typically defaults to 1.0,
but subclasses which do not contribute to document scores such as
NOTQuery and MatchAllQuery default to 0.0 instead.
ABSTRACT METHODS
make_compiler( [labeled params] )
Abstract factory method returning a Compiler derived from this Query.
· searcher - A Searcher.
· boost - A scoring multiplier. Defaults to the Query's own boost.
METHODSset_boost(boost)
Set the Query's boost.
get_boost()
Get the Query's boost.
INHERITANCEKinoSearch::Search::Query isa KinoSearch::Object::Obj.
COPYRIGHT AND LICENSE
Copyright 2005-2010 Marvin Humphrey
This program is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.
perl v5.14.1 2011-06-20 KinoSearch::Search::Query(3)