Xapian::QueryParser(3)User Contributed Perl DocumentatioXapian::QueryParser(3)NAMESearch::Xapian::QueryParser - Parse a query string into a
Search::Xapian::Query object
DESCRIPTION
This module turns a human readable string into something Xapian can
understand. The syntax supported is designed to be similar to other
web based search engines, so that users familiar with them don't have
to learn a whole new syntax.
SYNOPSIS
use Search::Xapian qw/:standard/;
my $qp = new Search::Xapian::QueryParser( [$database] );
$qp->set_stemmer(new Search::Xapian::Stem("english"));
$qp->set_default_op(OP_AND);
$database->enquire($qp->parse_query('a NEAR word OR "a phrase" NOT (too difficult) +eh'));
METHODS
new <database>
QueryParser constructor.
set_stemmer <stemmer>
Set the Search::Xapian::Stem object to be used for stemming query
terms.
set_stemming_strategy <strategy>
Set the stemming strategy. Valid values are "STEM_ALL",
"STEM_SOME", "STEM_NONE".
set_stopper <stopper>
Set the Search::Xapian::Stopper object to be used for identifying
stopwords.
set_default_op <operator>
Set the default operator.
This operator is used to combine non-filter query items when no
explicit operator is used.
The most useful values for this are OP_OR (the default) and OP_AND.
OP_NEAR and OP_PHRASE can also be useful.
See Search::Xapian for descriptions of these constants.
get_default_op
Returns the current default operator.
set_database <database>
Pass a Search::Xapian::Database object which is used to check
whether terms exist in some situations.
parse_query <query_string> [<flags>]
Parses the query string according to the rules defined in the query
parser documentation below. You can specify certain flags to modify
the searching behaviour:
FLAG_BOOLEAN, FLAG_PHRASE, FLAG_LOVEHATE, FLAG_BOOLEAN_ANY_CASE,
FLAG_WILDCARD, FLAG_PURE_NOT, FLAG_PARTIAL, FLAG_SPELLING_CORRECTION,
FLAG_SYNONYM, FLAG_AUTO_SYNONYMS, FLAG_AUTO_MULTIWORD_SYNONYMS
To specify multiple flags, "bitwise or" them together (with "|").
The default flags are "FLAG_PHRASE|FLAG_BOOLEAN|FLAG_LOVEHATE"
add_prefix <field> <prefix>
Add a probabilistic term prefix. E.g. $qp->add_prefix("author",
"A");
Allows the user to search for author:orwell which will search for
the term "Aorwel" (assuming English stemming is in use). Multiple
fields can be mapped to the same prefix (so you can e.g. make
title: and subject: aliases for each other).
Parameters: field The user visible field name prefix The
term prefix to map this to
add_boolean_prefix <field> prefix
Add a boolean term prefix allowing the user to restrict a search
with a boolean filter specified in the free text query. E.g.
$p->add_boolean_prefix("site", "H");
Allows the user to restrict a search with site:xapian.org which
will be converted to Hxapian.org combined with any probabilistic
query with "OP_FILTER".
Multiple fields can be mapped to the same prefix (so you can e.g.
make site: and domain: aliases for each other).
Parameters: field The user visible field name prefix The
term prefix to map this to
stoplist_begin
stoplist_end
unstem_begin
unstem_end
get_description
Returns a string describing this object.
get_corrected_query_string
Get the spelling-corrected query string.
This will only be set if FLAG_SPELLING_CORRECTION is specified when
QueryParser::parse_query() was last called.
If there were no corrections, an empty string is returned.
REFERENCE
http://www.xapian.org/docs/queryparser.html
http://www.xapian.org/docs/sourcedoc/html/classXapian_1_1QueryParser.html
perl v5.14.1 2010-04-27 Xapian::QueryParser(3)