Class AnalyzingQueryParser
Overrides Lucene's default QueryParser so that Fuzzy-, Prefix-, Range-, and WildcardQuerys
are also passed through the given analyzer, but wildcard characters *
and
?
don't get removed from the search terms.
Warning: This class should only be used with analyzers that do not use stopwords
or that add tokens. Also, several stemming analyzers are inappropriate: for example, GermanAnalyzer
will turn Häuser
into hau
, but H?user
will
become h?user
when using this parser and thus no match would be found (i.e.
using this parser will be no improvement over QueryParser in such cases).
Inherited Members
Assembly: Lucene.Net.QueryParser.dll
Syntax
[Serializable]
public class AnalyzingQueryParser : QueryParser, ICommonQueryParserConfiguration
Constructors
Name | Description |
---|---|
AnalyzingQueryParser(LuceneVersion, String, Analyzer) |
Methods
Name | Description |
---|---|
AnalyzeSingleChunk(String, String, String) | Returns the analyzed form for the given chunk. If the analyzer produces more than one output token from the given chunk, a ParseException is thrown. |
GetFuzzyQuery(String, String, Single) | Called when parser parses an input term that has the fuzzy suffix (~) appended. Depending on analyzer and settings, a fuzzy term may (most probably will) be lower-cased automatically. It will go through the default Analyzer. Overrides super class, by passing terms through analyzer. |
GetPrefixQuery(String, String) | Called when parser parses an input term that uses prefix notation; that is, contains a single '*' wildcard character as its last character. Since this is a special case of generic wildcard term, and such a query can be optimized easily, this usually results in a different query object. Depending on analyzer and settings, a prefix term may (most probably will) be lower-cased automatically. It will go through the default Analyzer. Overrides super class, by passing terms through analyzer. |
GetWildcardQuery(String, String) | Called when parser parses an input term that uses prefix notation; that is, contains a single '*' wildcard character as its last character. Since this is a special case of generic wildcard term, and such a query can be optimized easily, this usually results in a different query object. Depending on analyzer and settings, a prefix term may (most probably will) be lower-cased automatically. It will go through the default Analyzer. Overrides super class, by passing terms through analyzer. |