feature_flag

Enum of feature flag

Values

ValueMeaning
FLAG_BOOLEAN1

Support AND, OR, etc and bracketed subexpressions.

FLAG_PHRASE2

Support quoted phrases.

FLAG_LOVEHATE4

Support + and -.

FLAG_BOOLEAN_ANY_CASE8

Support AND, OR, etc even if they aren't in ALLCAPS.

FLAG_WILDCARD16

Support right truncation (e.g. Xap*).

Currently you can't use wildcards with boolean filter prefixes, or in a phrase (either an explicitly quoted one, or one implicitly generated by hyphens or other punctuation).

NB: You need to tell the QueryParser object which database to expand wildcards from by calling set_database.

FLAG_PURE_NOT32

Allow queries such as 'NOT apples'.

These require the use of a list of all documents in the database which is potentially expensive, so this feature isn't enabled by default.

FLAG_PARTIAL64

Enable partial matching.

Partial matching causes the parser to treat the query as a "partially entered" search. This will automatically treat the final word as a wildcarded match, unless it is followed by whitespace, to produce more stable results from interactive searches.

Currently FLAG_PARTIAL doesn't do anything if the final word in the query has a boolean filter prefix, or if it is in a phrase (either an explicitly quoted one, or one implicitly generated by hyphens or other punctuation). It also doesn't do anything if if the final word is part of a value range.

NB: You need to tell the QueryParser object which database to expand wildcards from by calling set_database.

FLAG_SPELLING_CORRECTION128

Enable spelling correction.

For each word in the query which doesn't exist as a term in the database, Database::get_spelling_suggestion() will be called and if a suggestion is returned, a corrected version of the query string will be built up which can be read using QueryParser::get_corrected_query_string(). The query returned is based on the uncorrected query string however - if you want a parsed query based on the corrected query string, you must call QueryParser::parse_query() again.

NB: You must also call set_database() for this to work.

FLAG_SYNONYM256

Enable synonym operator '~'.

NB: You must also call set_database() for this to work.

FLAG_AUTO_SYNONYMS512

Enable automatic use of synonyms for single terms.

NB: You must also call set_database() for this to work.

FLAG_AUTO_MULTIWORD_SYNONYMS1024 | FLAG_AUTO_SYNONYMS

Enable automatic use of synonyms for single terms and groups of terms.

NB: You must also call set_database() for this to work.

FLAG_DEFAULTFLAG_PHRASE | FLAG_BOOLEAN | FLAG_LOVEHATE

The default flags.

Used if you don't explicitly pass any to @a parse_query(). The default flags are FLAG_PHRASE|FLAG_BOOLEAN|FLAG_LOVEHATE.

Added in Xapian 1.0.11.

Meta