KinoSearch::Search::Query - A specification for a search query.


KinoSearch documentation  | view source Contained in the KinoSearch distribution.

Index


NAME

Top

KinoSearch::Search::Query - A specification for a search query.

SYNOPSIS

Top

    # 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

Top

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

Top

new( [labeled params] )

    my $query = MyQuery->SUPER::new(
        boost => 2.5,
    );

Abstract constructor.

ABSTRACT METHODS

Top

make_compiler( [labeled params] )

Abstract factory method returning a Compiler derived from this Query.

METHODS

Top

set_boost(boost)

Set the Query's boost.

get_boost()

Get the Query's boost.

INHERITANCE

Top

KinoSearch::Search::Query isa KinoSearch::Object::Obj.

COPYRIGHT AND LICENSE

Top


KinoSearch documentation  | view source Contained in the KinoSearch distribution.