public class DefaultQueryParser
extends org.apache.lucene.queryparser.classic.QueryParser
Automatic right truncation if enabled with property query.lucene.use-right-truncation
.
Additionnal behavior can be configured through properties :
query.lucene.wildcard.enabled
.query.lucene.fuzzy.enabled
.Modifier and Type | Field and Description |
---|---|
static boolean |
LUCENE_FUZZY_ENABLED |
static boolean |
LUCENE_WILDCARD_ENABLED |
static java.lang.String |
RIGHT_TRUNCATION_EXCLUSION_REGEX
A regular expression used to match words in user's search string for which right truncation will NOT be applied.
|
static boolean |
USE_RIGHT_TRUNCATION |
DEFAULT_SPLIT_ON_WHITESPACE, jj_nt, token, token_source
AND_OPERATOR, field, OR_OPERATOR
analyzer, enableGraphQueries, 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 |
---|
DefaultQueryParser(java.lang.String field,
org.apache.lucene.analysis.Analyzer analyzer,
ParseOptions options)
Builds a new DefaultQueryParser.
|
Modifier and Type | Method and Description |
---|---|
static float |
getFieldBoost(ParseOptions.Engine engine,
java.lang.String fieldName)
Return the boost that should be applied to a field at query time for text search.
|
protected org.apache.lucene.search.Query |
getFuzzyQuery(java.lang.String field,
java.lang.String termStr,
float minSimilarity)
Disable fuzzy query.
|
protected org.apache.lucene.search.Query |
getWildcardQuery(java.lang.String field,
java.lang.String termStr)
Disable wildcard query.
|
protected org.apache.lucene.search.Query |
newTermQuery(org.apache.lucene.index.Term term) |
static org.apache.lucene.search.Query |
parse(java.lang.String searchString,
ParseOptions options,
org.apache.lucene.analysis.Analyzer analyzer)
Invoked by JCMS Lucene search engines to parse query.
|
static java.lang.String |
rewriteSearchString(java.lang.String searchString,
ParseOptions options)
Compute the search string to use from the specified options
|
Clause, Conjunction, disable_tracing, enable_tracing, generateParseException, getNextToken, getSplitOnWhitespace, getToken, Modifiers, MultiTerm, Query, ReInit, ReInit, setAutoGeneratePhraseQueries, setSplitOnWhitespace, Term, TopLevelQuery
addClause, addMultiTermClauses, escape, getAllowLeadingWildcard, getAnalyzeRangeTerms, getAutoGeneratePhraseQueries, getBooleanQuery, getDateResolution, getDefaultOperator, getField, getFieldQuery, getFieldQuery, getFuzzyMinSim, getFuzzyPrefixLength, getLocale, getLowercaseExpandedTerms, getMaxDeterminizedStates, getMultiTermRewriteMethod, getPhraseSlop, getPrefixQuery, 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, setTimeZone
add, analyzeBoolean, analyzeGraph, analyzeMultiBoolean, analyzeMultiPhrase, analyzePhrase, analyzeTerm, createBooleanQuery, createBooleanQuery, createFieldQuery, createFieldQuery, createMinShouldMatchQuery, createPhraseQuery, createPhraseQuery, getAnalyzer, getEnableGraphQueries, getEnablePositionIncrements, newBooleanQuery, newMultiPhraseQueryBuilder, newSynonymQuery, setAnalyzer, setEnableGraphQueries, setEnablePositionIncrements
public static final boolean LUCENE_WILDCARD_ENABLED
public static final boolean LUCENE_FUZZY_ENABLED
public static final boolean USE_RIGHT_TRUNCATION
public static final java.lang.String RIGHT_TRUNCATION_EXCLUSION_REGEX
Default regex applies to :
public DefaultQueryParser(java.lang.String field, org.apache.lucene.analysis.Analyzer analyzer, ParseOptions options)
field
- the default field for query terms.analyzer
- used to find terms in the query text.options
- parsing optionsprotected org.apache.lucene.search.Query getWildcardQuery(java.lang.String field, java.lang.String termStr) throws org.apache.lucene.queryparser.classic.ParseException
getWildcardQuery
in class org.apache.lucene.queryparser.classic.QueryParserBase
org.apache.lucene.queryparser.classic.ParseException
protected org.apache.lucene.search.Query getFuzzyQuery(java.lang.String field, java.lang.String termStr, float minSimilarity) throws org.apache.lucene.queryparser.classic.ParseException
getFuzzyQuery
in class org.apache.lucene.queryparser.classic.QueryParserBase
org.apache.lucene.queryparser.classic.ParseException
protected org.apache.lucene.search.Query newTermQuery(org.apache.lucene.index.Term term)
newTermQuery
in class org.apache.lucene.util.QueryBuilder
public static org.apache.lucene.search.Query parse(java.lang.String searchString, ParseOptions options, org.apache.lucene.analysis.Analyzer analyzer) throws org.apache.lucene.queryparser.classic.ParseException
searchString
- the string to search/parseoptions
- parsing optionsanalyzer
- TODOorg.apache.lucene.queryparser.classic.ParseException
- if lucene query was invalidpublic static java.lang.String rewriteSearchString(java.lang.String searchString, ParseOptions options)
searchString
- the string to searchoptions
- a SearchOptions instance holder of search parameterspublic static float getFieldBoost(ParseOptions.Engine engine, java.lang.String fieldName)
Boost value are being read from property declaration :
query.lucene.boost.{search-engine-name}.{field-name}: 2.0For example :
query.lucene.boost.PUBLICATION.title: 2.0 query.lucene.boost.CATEGORY.name: 1.2 query.lucene.boost.PUBLICATION._allfields_: 1.0
engine
- the search engine in which search is performedfieldName
- the field name being search and for which a Query object is being builtCopyright © 2001-2017 Jalios SA. All Rights Reserved.