org.alfresco.repo.search.impl.lucene
Class LuceneQueryParser
java.lang.Object
org.apache.lucene.queryParser.QueryParser
org.alfresco.repo.search.impl.lucene.LuceneQueryParser
- All Implemented Interfaces:
- org.apache.lucene.queryParser.QueryParserConstants
public class LuceneQueryParser
- extends org.apache.lucene.queryParser.QueryParser
Extensions to the standard lucene query parser.
Covers:
- special fields;
- range expansion;
- adds wild card support for phrases;
- exposes more helper methods to build lucene queries and request tokneisation bahviour.
TODO: Locale loop should not include tokenisation expansion
Nested classes/interfaces inherited from class org.apache.lucene.queryParser.QueryParser |
org.apache.lucene.queryParser.QueryParser.Operator |
Fields inherited from class org.apache.lucene.queryParser.QueryParser |
AND_OPERATOR, jj_nt, OR_OPERATOR, token, token_source |
Fields inherited from interface org.apache.lucene.queryParser.QueryParserConstants |
_ESCAPED_CHAR, _NUM_CHAR, _QUOTED_CHAR, _TERM_CHAR, _TERM_START_CHAR, _WHITESPACE, AND, Boost, CARAT, COLON, DEFAULT, EOF, FUZZY_SLOP, LPAREN, MINUS, NOT, NUMBER, OR, PLUS, PREFIXTERM, QUOTED, RangeEx, RANGEEX_END, RANGEEX_GOOP, RANGEEX_QUOTED, RANGEEX_START, RANGEEX_TO, RangeIn, RANGEIN_END, RANGEIN_GOOP, RANGEIN_QUOTED, RANGEIN_START, RANGEIN_TO, RPAREN, STAR, TERM, tokenImage, WILDTERM |
Constructor Summary |
LuceneQueryParser(org.apache.lucene.queryParser.CharStream arg0)
Lucene default constructor |
LuceneQueryParser(org.apache.lucene.queryParser.QueryParserTokenManager arg0)
Lucene default constructor |
LuceneQueryParser(java.lang.String arg0,
org.apache.lucene.analysis.Analyzer arg1)
Lucene default constructor |
Method Summary |
LuceneAnalyser |
getAnalyzer()
|
LuceneConfig |
getConfig()
|
org.apache.lucene.search.Query |
getDoesNotMatchFieldQuery(java.lang.String field,
java.lang.String queryText,
AnalysisMode analysisMode,
LuceneFunction luceneFunction)
|
org.apache.lucene.search.Query |
getFieldQuery(java.lang.String field,
java.lang.String queryText)
|
org.apache.lucene.search.Query |
getFieldQuery(java.lang.String field,
java.lang.String queryText,
AnalysisMode analysisMode,
int slop,
LuceneFunction luceneFunction)
|
org.apache.lucene.search.Query |
getFieldQuery(java.lang.String field,
java.lang.String queryText,
AnalysisMode analysisMode,
LuceneFunction luceneFunction)
|
protected org.apache.lucene.search.Query |
getFieldQuery(java.lang.String field,
java.lang.String queryText,
int slop)
|
org.apache.lucene.search.Query |
getFuzzyQuery(java.lang.String field,
java.lang.String termStr,
float minSimilarity)
|
org.apache.lucene.index.IndexReader |
getIndexReader()
|
org.apache.lucene.search.Query |
getLikeQuery(java.lang.String field,
java.lang.String sqlLikeClause,
AnalysisMode analysisMode)
|
org.apache.lucene.search.Query |
getPrefixQuery(java.lang.String field,
java.lang.String termStr)
|
protected org.apache.lucene.search.Query |
getRangeQuery(java.lang.String field,
java.lang.String part1,
java.lang.String part2,
boolean inclusive)
|
org.apache.lucene.search.Query |
getRangeQuery(java.lang.String field,
java.lang.String part1,
java.lang.String part2,
boolean includeLower,
boolean includeUpper,
AnalysisMode analysisMode,
LuceneFunction luceneFunction)
|
SearchParameters |
getSearchParameters()
|
org.apache.lucene.search.Query |
getSpanQuery(java.lang.String field,
java.lang.String first,
java.lang.String last,
int slop,
boolean inOrder)
|
org.apache.lucene.search.Query |
getSuperFieldQuery(java.lang.String field,
java.lang.String queryText,
AnalysisMode analysisMode,
LuceneFunction luceneFunction)
|
org.apache.lucene.search.Query |
getSuperFuzzyQuery(java.lang.String field,
java.lang.String termStr,
float minSimilarity)
|
org.apache.lucene.search.Query |
getSuperPrefixQuery(java.lang.String field,
java.lang.String termStr)
|
org.apache.lucene.search.Query |
getSuperWildcardQuery(java.lang.String field,
java.lang.String termStr)
|
org.apache.lucene.search.Query |
getWildcardQuery(java.lang.String field,
java.lang.String termStr)
|
static void |
main(java.lang.String[] args)
|
protected org.apache.lucene.search.Query |
newPrefixQuery(org.apache.lucene.index.Term prefix)
|
protected org.apache.lucene.search.Query |
newWildcardQuery(org.apache.lucene.index.Term t)
|
static org.apache.lucene.search.Query |
parse(java.lang.String query,
java.lang.String field,
org.apache.lucene.analysis.Analyzer analyzer,
NamespacePrefixResolver namespacePrefixResolver,
DictionaryService dictionaryService,
TenantService tenantService,
org.apache.lucene.queryParser.QueryParser.Operator defaultOperator,
SearchParameters searchParameters,
LuceneConfig config,
org.apache.lucene.index.IndexReader indexReader)
Parses a query string, returning a Query . |
void |
setDictionaryService(DictionaryService dictionaryService)
|
void |
setIndexReader(org.apache.lucene.index.IndexReader indexReader)
|
void |
setLuceneConfig(LuceneConfig config)
|
void |
setNamespacePrefixResolver(NamespacePrefixResolver namespacePrefixResolver)
|
void |
setSearchParameters(SearchParameters searchParameters)
|
void |
setTenantService(TenantService tenantService)
|
Methods inherited from class org.apache.lucene.queryParser.QueryParser |
addClause, addClause, Clause, Conjunction, disable_tracing, enable_tracing, escape, generateParseException, getAllowLeadingWildcard, getBooleanQuery, getBooleanQuery, getBooleanQuery, getBooleanQuery, getDateResolution, getDefaultOperator, getEnablePositionIncrements, getField, getFuzzyMinSim, getFuzzyPrefixLength, getLocale, getLowercaseExpandedTerms, getNextToken, getPhraseSlop, getRangeCollator, getToken, getUseOldRangeQuery, Modifiers, newBooleanClause, newBooleanQuery, newFuzzyQuery, newMatchAllDocsQuery, newMultiPhraseQuery, newPhraseQuery, newRangeQuery, newTermQuery, parse, Query, ReInit, ReInit, setAllowLeadingWildcard, setDateResolution, setDateResolution, setDefaultOperator, setEnablePositionIncrements, setFuzzyMinSim, setFuzzyPrefixLength, setLocale, setLowercaseExpandedTerms, setPhraseSlop, setRangeCollator, setUseOldRangeQuery, Term, TopLevelQuery |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
LuceneQueryParser
public LuceneQueryParser(java.lang.String arg0,
org.apache.lucene.analysis.Analyzer arg1)
- Lucene default constructor
- Parameters:
arg0
- arg1
-
LuceneQueryParser
public LuceneQueryParser(org.apache.lucene.queryParser.CharStream arg0)
- Lucene default constructor
- Parameters:
arg0
-
LuceneQueryParser
public LuceneQueryParser(org.apache.lucene.queryParser.QueryParserTokenManager arg0)
- Lucene default constructor
- Parameters:
arg0
-
parse
public static org.apache.lucene.search.Query parse(java.lang.String query,
java.lang.String field,
org.apache.lucene.analysis.Analyzer analyzer,
NamespacePrefixResolver namespacePrefixResolver,
DictionaryService dictionaryService,
TenantService tenantService,
org.apache.lucene.queryParser.QueryParser.Operator defaultOperator,
SearchParameters searchParameters,
LuceneConfig config,
org.apache.lucene.index.IndexReader indexReader)
throws org.apache.lucene.queryParser.ParseException
- Parses a query string, returning a
Query
.
- Parameters:
query
- the query string to be parsed.field
- the default field for query terms.analyzer
- used to find terms in the query text.namespacePrefixResolver
- dictionaryService
- tenantService
- defaultOperator
- searchParameters
- config
- indexReader
-
- Returns:
- - the query
- Throws:
org.apache.lucene.queryParser.ParseException
- if the parsing fails
setLuceneConfig
public void setLuceneConfig(LuceneConfig config)
- Parameters:
config
-
setIndexReader
public void setIndexReader(org.apache.lucene.index.IndexReader indexReader)
- Parameters:
indexReader
-
setSearchParameters
public void setSearchParameters(SearchParameters searchParameters)
- Parameters:
searchParameters
-
setNamespacePrefixResolver
public void setNamespacePrefixResolver(NamespacePrefixResolver namespacePrefixResolver)
- Parameters:
namespacePrefixResolver
-
setTenantService
public void setTenantService(TenantService tenantService)
- Parameters:
tenantService
-
getSearchParameters
public SearchParameters getSearchParameters()
getIndexReader
public org.apache.lucene.index.IndexReader getIndexReader()
getConfig
public LuceneConfig getConfig()
getFieldQuery
protected org.apache.lucene.search.Query getFieldQuery(java.lang.String field,
java.lang.String queryText,
int slop)
throws org.apache.lucene.queryParser.ParseException
- Overrides:
getFieldQuery
in class org.apache.lucene.queryParser.QueryParser
- Throws:
org.apache.lucene.queryParser.ParseException
getFieldQuery
public org.apache.lucene.search.Query getFieldQuery(java.lang.String field,
java.lang.String queryText,
AnalysisMode analysisMode,
int slop,
LuceneFunction luceneFunction)
throws org.apache.lucene.queryParser.ParseException
- Parameters:
field
- queryText
- analysisMode
- slop
- luceneFunction
-
- Returns:
- the query
- Throws:
org.apache.lucene.queryParser.ParseException
getLikeQuery
public org.apache.lucene.search.Query getLikeQuery(java.lang.String field,
java.lang.String sqlLikeClause,
AnalysisMode analysisMode)
throws org.apache.lucene.queryParser.ParseException
- Parameters:
field
- sqlLikeClause
- analysisMode
-
- Returns:
- the query
- Throws:
org.apache.lucene.queryParser.ParseException
getDoesNotMatchFieldQuery
public org.apache.lucene.search.Query getDoesNotMatchFieldQuery(java.lang.String field,
java.lang.String queryText,
AnalysisMode analysisMode,
LuceneFunction luceneFunction)
throws org.apache.lucene.queryParser.ParseException
- Parameters:
field
- queryText
- analysisMode
- luceneFunction
-
- Returns:
- the query
- Throws:
org.apache.lucene.queryParser.ParseException
getFieldQuery
public org.apache.lucene.search.Query getFieldQuery(java.lang.String field,
java.lang.String queryText)
throws org.apache.lucene.queryParser.ParseException
- Overrides:
getFieldQuery
in class org.apache.lucene.queryParser.QueryParser
- Throws:
org.apache.lucene.queryParser.ParseException
getSpanQuery
public org.apache.lucene.search.Query getSpanQuery(java.lang.String field,
java.lang.String first,
java.lang.String last,
int slop,
boolean inOrder)
- Parameters:
field
- first
- last
- slop
- inOrder
-
- Returns:
- the query
getFieldQuery
public org.apache.lucene.search.Query getFieldQuery(java.lang.String field,
java.lang.String queryText,
AnalysisMode analysisMode,
LuceneFunction luceneFunction)
throws org.apache.lucene.queryParser.ParseException
- Parameters:
field
- queryText
- analysisMode
- luceneFunction
-
- Returns:
- the query
- Throws:
org.apache.lucene.queryParser.ParseException
getRangeQuery
protected org.apache.lucene.search.Query getRangeQuery(java.lang.String field,
java.lang.String part1,
java.lang.String part2,
boolean inclusive)
throws org.apache.lucene.queryParser.ParseException
- Overrides:
getRangeQuery
in class org.apache.lucene.queryParser.QueryParser
- Throws:
org.apache.lucene.queryParser.ParseException
- throw in overridden method to disallow
getRangeQuery
public org.apache.lucene.search.Query getRangeQuery(java.lang.String field,
java.lang.String part1,
java.lang.String part2,
boolean includeLower,
boolean includeUpper,
AnalysisMode analysisMode,
LuceneFunction luceneFunction)
throws org.apache.lucene.queryParser.ParseException
- Parameters:
field
- part1
- part2
- includeLower
- includeUpper
- analysisMode
- luceneFunction
-
- Returns:
- the query
- Throws:
org.apache.lucene.queryParser.ParseException
- throw in overridden method to disallow
getPrefixQuery
public org.apache.lucene.search.Query getPrefixQuery(java.lang.String field,
java.lang.String termStr)
throws org.apache.lucene.queryParser.ParseException
- Overrides:
getPrefixQuery
in class org.apache.lucene.queryParser.QueryParser
- Throws:
org.apache.lucene.queryParser.ParseException
getWildcardQuery
public org.apache.lucene.search.Query getWildcardQuery(java.lang.String field,
java.lang.String termStr)
throws org.apache.lucene.queryParser.ParseException
- Overrides:
getWildcardQuery
in class org.apache.lucene.queryParser.QueryParser
- Throws:
org.apache.lucene.queryParser.ParseException
getFuzzyQuery
public org.apache.lucene.search.Query getFuzzyQuery(java.lang.String field,
java.lang.String termStr,
float minSimilarity)
throws org.apache.lucene.queryParser.ParseException
- Overrides:
getFuzzyQuery
in class org.apache.lucene.queryParser.QueryParser
- Throws:
org.apache.lucene.queryParser.ParseException
setDictionaryService
public void setDictionaryService(DictionaryService dictionaryService)
- Parameters:
dictionaryService
-
getSuperFieldQuery
public org.apache.lucene.search.Query getSuperFieldQuery(java.lang.String field,
java.lang.String queryText,
AnalysisMode analysisMode,
LuceneFunction luceneFunction)
throws org.apache.lucene.queryParser.ParseException
- Parameters:
field
- queryText
- analysisMode
- luceneFunction
-
- Returns:
- the query
- Throws:
org.apache.lucene.queryParser.ParseException
getSuperFuzzyQuery
public org.apache.lucene.search.Query getSuperFuzzyQuery(java.lang.String field,
java.lang.String termStr,
float minSimilarity)
throws org.apache.lucene.queryParser.ParseException
- Parameters:
field
- termStr
- minSimilarity
-
- Returns:
- the query
- Throws:
org.apache.lucene.queryParser.ParseException
getSuperPrefixQuery
public org.apache.lucene.search.Query getSuperPrefixQuery(java.lang.String field,
java.lang.String termStr)
throws org.apache.lucene.queryParser.ParseException
- Parameters:
field
- termStr
-
- Returns:
- the query
- Throws:
org.apache.lucene.queryParser.ParseException
getSuperWildcardQuery
public org.apache.lucene.search.Query getSuperWildcardQuery(java.lang.String field,
java.lang.String termStr)
throws org.apache.lucene.queryParser.ParseException
- Parameters:
field
- termStr
-
- Returns:
- the query
- Throws:
org.apache.lucene.queryParser.ParseException
newWildcardQuery
protected org.apache.lucene.search.Query newWildcardQuery(org.apache.lucene.index.Term t)
- Overrides:
newWildcardQuery
in class org.apache.lucene.queryParser.QueryParser
newPrefixQuery
protected org.apache.lucene.search.Query newPrefixQuery(org.apache.lucene.index.Term prefix)
- Overrides:
newPrefixQuery
in class org.apache.lucene.queryParser.QueryParser
main
public static void main(java.lang.String[] args)
throws org.apache.lucene.queryParser.ParseException,
java.text.ParseException
- Throws:
org.apache.lucene.queryParser.ParseException
getAnalyzer
public LuceneAnalyser getAnalyzer()
- Overrides:
getAnalyzer
in class org.apache.lucene.queryParser.QueryParser
Copyright © 2005 - 2010 Alfresco Software, Inc. All Rights Reserved.