Xapian::QueryParser(3pm) | User Contributed Perl Documentation | Xapian::QueryParser(3pm) |
Search::Xapian::QueryParser - Parse a query string into a Search::Xapian::Query object
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.
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'));
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.
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"
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
$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
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.
Note: you must also set FLAG_WILDCARD for wildcard expansion to happen.
Parameter limit is the maximum number of terms each wildcard in the query can expand to, or 0 for no limit (which is the default).
https://xapian.org/docs/queryparser.html https://xapian.org/docs/sourcedoc/html/classXapian_1_1QueryParser.html
2022-11-23 | perl v5.36.0 |