org.alfresco.repo.search.impl.lucene
Class LuceneQueryParser

java.lang.Object
  extended by org.apache.lucene.queryParser.QueryParser
      extended by 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:

TODO: Locale loop should not include tokenisation expansion


Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.lucene.queryParser.QueryParser
org.apache.lucene.queryParser.QueryParser.Operator
 
Field Summary
 
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
 

Constructor Detail

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 -
Method Detail

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.