Search::QueryParser 0.91 review

Download
by rbytes.net on

Search::QueryParser parses a query string into a data structure suitable for external search engines. SYNOPSIS my $qp = new S

License: Perl Artistic License
File size: 6K
Developer: Laurent Dami
0 stars award from rbytes.net

Search::QueryParser parses a query string into a data structure suitable for external search engines.

SYNOPSIS

my $qp = new Search::QueryParser;
my $s = '+mandatoryWord -excludedWord +field:word "exact phrase"';
my $query = $qp->parse($s) or die "Error in query : " . $qp->err;
$someIndexer->search($query);

# query with comparison operators and implicit plus (second arg is true)
$query = $qp->parse("txt~'^foo.*' date>='01.01.2001' dateparse("a AND (b OR c) AND NOT d");

This module parses a query string into a data structure to be handled by external search engines. For examples of such engines, see File::Tabular and Search::Indexer.

The query string can contain simple terms, "exact phrases", field names and comparison operators, '+/-' prefixes, parentheses, and boolean connectors.
The parser can be parameterized by regular expressions for specific notions of "term", "field name" or "operator" ; see the new method. The parser has no support for lemmatization or other term transformations : these should be done externally, before passing the query data structure to the search engine.

The data structure resulting from a parsed query is a tree of terms and operators, as described below in the parse method. The interpretation of the structure is up to the external search engine that will receive the parsed query ; the present module does not make any assumption about what it means to be "equal" or to "contain" a term.

Requirements:
Perl

Search::QueryParser 0.91 search tags