C# Class Lucene.Net.QueryParsers.Analyzing.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, Analysis.De.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).
Inheritance: Classic.QueryParser
显示文件 Open project: apache/lucenenet Class Usage Examples

Public Methods

Method Description
AnalyzingQueryParser ( LuceneVersion matchVersion, string field, Analyzer analyzer ) : Lucene.Net.Analysis

Protected Methods

Method Description
AnalyzeSingleChunk ( string field, string termStr, string chunk ) : 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 field, string termStr, float minSimilarity ) : Query

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 field, string termStr ) : Query

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 field, string termStr ) : Query

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.

Method Details

AnalyzeSingleChunk() protected method

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.
ParseException when analysis returns other than one output token
protected AnalyzeSingleChunk ( string field, string termStr, string chunk ) : string
field string The target field
termStr string The full term from which the given chunk is excerpted
chunk string The portion of the given termStr to be analyzed
return string

AnalyzingQueryParser() public method

public AnalyzingQueryParser ( LuceneVersion matchVersion, string field, Analyzer analyzer ) : Lucene.Net.Analysis
matchVersion LuceneVersion
field string
analyzer Lucene.Net.Analysis.Analyzer
return Lucene.Net.Analysis

GetFuzzyQuery() protected method

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.
protected GetFuzzyQuery ( string field, string termStr, float minSimilarity ) : Query
field string Name of the field query will use.
termStr string Term to use for building term for the query
minSimilarity float
return Lucene.Net.Search.Query

GetPrefixQuery() protected method

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.
protected GetPrefixQuery ( string field, string termStr ) : Query
field string Name of the field query will use.
termStr string Term to use for building term for the query (without trailing '*' character!)
return Lucene.Net.Search.Query

GetWildcardQuery() protected method

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.
protected GetWildcardQuery ( string field, string termStr ) : Query
field string Name of the field query will use.
termStr string Term to use for building term for the query /// (without trailing '*' character!)
return Lucene.Net.Search.Query