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.