Enum xapian_rusty::FeatureFlag
source · #[repr(i16)]pub enum FeatureFlag {
FlagBoolean = 1,
FlagPhrase = 2,
FlagLovehate = 4,
FlagBooleanAnyCase = 8,
FlagWildcard = 16,
FlagPureNot = 32,
FlagPartial = 64,
FlagSpellingCorrection = 128,
FlagSynonym = 256,
FlagAutoSynonyms = 512,
FlagAutoMultiwordSynonyms = 1_536,
FlagDefault = 7,
}
Expand description
Enum of feature flag
Variants§
FlagBoolean = 1
Support AND, OR, etc and bracketed subexpressions.
FlagPhrase = 2
Support quoted phrases.
FlagLovehate = 4
Support + and -.
FlagBooleanAnyCase = 8
Support AND, OR, etc even if they aren’t in ALLCAPS.
FlagWildcard = 16
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.
FlagPureNot = 32
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.
FlagPartial = 64
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.
FlagSpellingCorrection = 128
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.
FlagSynonym = 256
Enable synonym operator ‘~’.
NB: You must also call set_database() for this to work.
FlagAutoSynonyms = 512
Enable automatic use of synonyms for single terms.
NB: You must also call set_database() for this to work.
FlagAutoMultiwordSynonyms = 1_536
Enable automatic use of synonyms for single terms and groups of terms.
NB: You must also call set_database() for this to work.
FlagDefault = 7
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.