public class AnalyzingQueryParser extends QueryParser
* 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).
QueryParser.OperatorDEFAULT_SPLIT_ON_WHITESPACE, jj_nt, token, token_sourceAND_OPERATOR, field, OR_OPERATORanalyzer, enablePositionIncrements_ESCAPED_CHAR, _NUM_CHAR, _QUOTED_CHAR, _TERM_CHAR, _TERM_START_CHAR, _WHITESPACE, AND, BAREOPER, Boost, CARAT, COLON, DEFAULT, EOF, FUZZY_SLOP, LPAREN, MINUS, NOT, NUMBER, OR, PLUS, PREFIXTERM, QUOTED, Range, RANGE_GOOP, RANGE_QUOTED, RANGE_TO, RANGEEX_END, RANGEEX_START, RANGEIN_END, RANGEIN_START, REGEXPTERM, RPAREN, STAR, TERM, tokenImage, WILDTERM| Constructor and Description |
|---|
AnalyzingQueryParser(String field,
Analyzer analyzer) |
| Modifier and Type | Method and Description |
|---|---|
protected Query |
getFuzzyQuery(String field,
String termStr,
float minSimilarity)
Called when parser parses an input term that has the fuzzy suffix (~) appended.
|
protected Query |
getPrefixQuery(String field,
String termStr)
Called when parser parses an input term
that uses prefix notation; that is, contains a single '*' wildcard
character as its last character.
|
protected Query |
getWildcardQuery(String field,
String termStr)
Called when parser parses an input term that contains one or more wildcard
characters (like
*), but is not a prefix term (one that has
just a single * character at the end). |
Clause, Conjunction, disable_tracing, enable_tracing, generateParseException, getNextToken, getSplitOnWhitespace, getToken, Modifiers, MultiTerm, Query, ReInit, ReInit, setAutoGeneratePhraseQueries, setSplitOnWhitespace, Term, TopLevelQueryaddClause, addMultiTermClauses, escape, getAllowLeadingWildcard, getAnalyzeRangeTerms, getAutoGeneratePhraseQueries, getBooleanQuery, getDateResolution, getDefaultOperator, getField, getFieldQuery, getFieldQuery, getFuzzyMinSim, getFuzzyPrefixLength, getLocale, getLowercaseExpandedTerms, getMaxDeterminizedStates, getMultiTermRewriteMethod, getPhraseSlop, getRangeQuery, getRegexpQuery, getTimeZone, init, newBooleanClause, newFieldQuery, newFuzzyQuery, newMatchAllDocsQuery, newPrefixQuery, newRangeQuery, newRegexpQuery, newWildcardQuery, parse, setAllowLeadingWildcard, setAnalyzeRangeTerms, setDateResolution, setDateResolution, setDefaultOperator, setFuzzyMinSim, setFuzzyPrefixLength, setLocale, setLowercaseExpandedTerms, setMaxDeterminizedStates, setMultiTermRewriteMethod, setPhraseSlop, setTimeZoneadd, analyzeBoolean, analyzeGraph, analyzeMultiBoolean, analyzeMultiPhrase, analyzePhrase, analyzeTerm, createBooleanQuery, createBooleanQuery, createFieldQuery, createFieldQuery, createMinShouldMatchQuery, createPhraseQuery, createPhraseQuery, getAnalyzer, getEnablePositionIncrements, newBooleanQuery, newMultiPhraseQueryBuilder, newSynonymQuery, newTermQuery, setAnalyzer, setEnablePositionIncrementsclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetAnalyzer, getEnablePositionIncrements, setEnablePositionIncrementsprotected Query getWildcardQuery(String field, String termStr) throws ParseException
*), but is not a prefix term (one that has
just a single * character at the end).
Example: will be called for H?user or for H*user.
Depending on analyzer and settings, a wildcard 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 in class QueryParserBasefield - Name of the field query will use.termStr - Term that contains one or more wildcard
characters (? or *), but is not simple prefix termQuery built for the termParseException - throw in overridden method to disallowprotected Query getPrefixQuery(String field, String termStr) throws ParseException
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.
getPrefixQuery in class QueryParserBasefield - Name of the field query will use.termStr - Term to use for building term for the query
(without trailing '*' character!)Query built for the termParseException - throw in overridden method to disallowprotected Query getFuzzyQuery(String field, String termStr, float minSimilarity) throws ParseException
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.
getFuzzyQuery in class QueryParserBasefield - Name of the field query will use.termStr - Term to use for building term for the queryQuery built for the termParseException - throw in overridden method to disallowCopyright © 2000-2017 Apache Software Foundation. All Rights Reserved.