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_sourceAND_OPERATOR, field, OR_OPERATORanalyzer, 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, TopLevelQueryaddClause, 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, setTimeZoneadd, analyzeBoolean, analyzeGraph, analyzeMultiBoolean, analyzeMultiPhrase, analyzePhrase, analyzeTerm, createBooleanQuery, createBooleanQuery, createFieldQuery, createFieldQuery, createMinShouldMatchQuery, createPhraseQuery, createPhraseQuery, getAnalyzer, getEnableGraphQueries, getEnablePositionIncrements, newBooleanQuery, newMultiPhraseQueryBuilder, newSynonymQuery, setAnalyzer, setEnableGraphQueries, setEnablePositionIncrementspublic 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.QueryParserBaseorg.apache.lucene.queryparser.classic.ParseExceptionprotected 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.QueryParserBaseorg.apache.lucene.queryparser.classic.ParseExceptionprotected org.apache.lucene.search.Query newTermQuery(org.apache.lucene.index.Term term)
newTermQuery in class org.apache.lucene.util.QueryBuilderpublic 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.0
For 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.