The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

KinoSearch::QueryParser::QueryParser - transform a string into a Query object

SYNOPSIS

    my $query_parser = KinoSearch::QueryParser::QueryParser->new(
        analyzer      => $analyzer,
        default_field => 'bodytext',
    );
    my $query = $query_parser->parse( $query_string );
    my $hits  = $searcher->search( query => $query );

DESCRIPTION

The QueryParser accepts search strings as input and produces Query objects, suitable for feeding into KinoSearch::Searcher.

METHODS

new

    my $query_parser = KinoSearch::QueryParser::QueryParser->new(
        analyzer       => $analyzer,      # required
        default_field  => 'bodytext',     # required
        default_boolop => 'AND',          # default: 'OR'
    );

Constructor. Takes hash-style parameters:

  • analyzer - An object which subclasses KinoSearch::Analysis::Analyzer. This must be identical to the Analyzer used at index-time, or the results won't match up.

  • default_field - the name of the (only) field which will be searched against. If you need to search multiple fields, you need multiple QueryParser objects.

  • default_boolop - two possible values: 'AND' and 'OR'. The default is 'OR', which means: return documents which match any of the query terms. If you want only documents which match all of the query terms, set this to 'AND'.

parse

    my $query = $query_parser->parse( $query_string );

Turn a query string into a Query object. Depending on the contents of the query string, the returned object could be any one of several subclasses of KinoSearch::Search::Query.

COPYRIGHT

Copyright 2005-2006 Marvin Humphrey

LICENSE, DISCLAIMER, BUGS, etc.

See KinoSearch version 0.10.