Marvin Humphrey > KinoSearch > KinoSearch::Search::Query

Download:
KinoSearch-0.315.tar.gz

Dependencies

Annotate this POD

CPAN RT

New  1
Open  4
View/Report Bugs
Source  

NAME ^

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

DEPRECATED ^

The KinoSearch code base has been assimilated by the Apache Lucy project. The "KinoSearch" namespace has been deprecated, but development continues under our new name at our new home: http://lucy.apache.org/

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.

ABSTRACT METHODS ^

make_compiler( [labeled params] )

Abstract factory method returning a Compiler derived from this Query.

METHODS ^

set_boost(boost)

Set the Query's boost.

get_boost()

Get the Query's boost.

INHERITANCE ^

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

COPYRIGHT AND LICENSE ^

Copyright 2005-2011 Marvin Humphrey

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

syntax highlighting: