Lucy::Search::Query
A specification for a search query.
- Provided by: liblucy-perl (Version: 0.3.3-6build1)
- Report a bug
A specification for a search query.
# Query is an abstract base class.
package MyQuery;
use base qw( Lucy::Search::Query );
sub make_compiler {
my ( $self, %args ) = @_;
my $subordinate = delete $args{subordinate};
my $compiler = MyCompiler->new( %args, parent => $self );
$compiler->normalize unless $subordinate;
return $compiler;
}
package MyCompiler;
use base ( Lucy::Search::Compiler );
...
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.
my $query = MyQuery->SUPER::new(
boost => 2.5,
);
Abstract constructor.
Abstract factory method returning a Compiler derived from this Query.
Set the Query's boost.
Get the Query's boost.
Lucy::Search::Query isa Lucy::Object::Obj.