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.AbstractLuceneQueryParser
          extended by org.alfresco.repo.search.impl.lucene.LuceneQueryParser
All Implemented Interfaces:
org.apache.lucene.queryParser.QueryParserConstants

public class LuceneQueryParser
extends AbstractLuceneQueryParser

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.alfresco.repo.search.impl.lucene.AbstractLuceneQueryParser
AbstractLuceneQueryParser.SubQuery
 
Nested classes/interfaces inherited from class org.apache.lucene.queryParser.QueryParser
org.apache.lucene.queryParser.QueryParser.Operator
 
Field Summary
 
Fields inherited from class org.alfresco.repo.search.impl.lucene.AbstractLuceneQueryParser
dictionaryService, FIELD_ACLID, FIELD_ACLTXCOMMITTIME, FIELD_ACLTXID, FIELD_ALL, FIELD_ANCESTOR, FIELD_ASPECT, FIELD_ASSOCTYPEQNAME, FIELD_AUTHORITY, FIELD_CLASS, FIELD_CONTENT_DOC_ID_SUFFIX, FIELD_DBID, FIELD_ENCODING_SUFFIX, FIELD_EXACTASPECT, FIELD_EXACTTYPE, FIELD_FTSREF, FIELD_FTSSTATUS, FIELD_ID, FIELD_INACLTXID, FIELD_INTXID, FIELD_ISCATEGORY, FIELD_ISCONTAINER, FIELD_ISNODE, FIELD_ISNOTNULL, FIELD_ISNULL, FIELD_ISROOT, FIELD_ISUNSET, FIELD_LID, FIELD_LINKASPECT, FIELD_LOCALE_SUFFIX, FIELD_MIMETYPE_SUFFIX, FIELD_NO_LOCALE_SUFFIX, FIELD_OWNER, FIELD_PARENT, FIELD_PARENT_ASSOC_CRC, FIELD_PATH, FIELD_PATHWITHREPEATS, FIELD_PRIMARYASSOCQNAME, FIELD_PRIMARYASSOCTYPEQNAME, FIELD_PRIMARYPARENT, FIELD_QNAME, FIELD_READER, FIELD_SIZE_SUFFIX, FIELD_SORT_SUFFIX, FIELD_TAG, FIELD_TENANT, FIELD_TEXT, FIELD_TRANSFORMATION_EXCEPTION_SUFFIX, FIELD_TRANSFORMATION_STATUS_SUFFIX, FIELD_TRANSFORMATION_TIME_SUFFIX, FIELD_TX, FIELD_TXCOMMITTIME, FIELD_TXID, FIELD_TYPE, namespacePrefixResolver, PROPERTY_FIELD_PREFIX
 
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
protected  org.apache.lucene.search.Query addContentAttributeQuery(java.lang.String queryText, AbstractLuceneQueryParser.SubQuery subQueryBuilder, AnalysisMode analysisMode, LuceneFunction luceneFunction, java.lang.String expandedFieldName, java.util.List expandedLocales, MLAnalysisMode mlAnalysisMode)
           
protected  void addLocaleSpecificUntokenisedMLOrTextFunction(java.lang.String expandedFieldName, java.lang.String queryText, LuceneFunction luceneFunction, org.apache.lucene.search.BooleanQuery booleanQuery, MLAnalysisMode mlAnalysisMode, java.util.Locale locale, IndexTokenisationMode tokenisationMode)
           
protected  void addLocaleSpecificUntokenisedTextRangeFunction(java.lang.String expandedFieldName, java.lang.String lower, java.lang.String upper, boolean includeLower, boolean includeUpper, LuceneFunction luceneFunction, org.apache.lucene.search.BooleanQuery booleanQuery, MLAnalysisMode mlAnalysisMode, java.util.Locale locale, IndexTokenisationMode tokenisationMode)
           
protected  void addMLTextAttributeQuery(java.lang.String field, java.lang.String queryText, AbstractLuceneQueryParser.SubQuery subQueryBuilder, AnalysisMode analysisMode, LuceneFunction luceneFunction, java.lang.String expandedFieldName, PropertyDefinition propertyDef, IndexTokenisationMode tokenisationMode, org.apache.lucene.search.BooleanQuery booleanQuery, MLAnalysisMode mlAnalysisMode, java.util.Locale locale)
           
protected  void addTextAttributeQuery(java.lang.String field, java.lang.String queryText, AbstractLuceneQueryParser.SubQuery subQueryBuilder, AnalysisMode analysisMode, LuceneFunction luceneFunction, java.lang.String expandedFieldName, IndexTokenisationMode tokenisationMode, org.apache.lucene.search.BooleanQuery booleanQuery, MLAnalysisMode mlAnalysisMode, java.util.Locale locale)
           
protected  void addTextRange(java.lang.String field, java.lang.String part1, java.lang.String part2, boolean includeLower, boolean includeUpper, AnalysisMode analysisMode, java.lang.String fieldName, PropertyDefinition propertyDef, IndexTokenisationMode tokenisationMode, org.apache.lucene.search.BooleanQuery booleanQuery, MLAnalysisMode mlAnalysisMode, java.util.Locale locale)
           
protected  org.apache.lucene.search.Query createAclIdQuery(java.lang.String queryText)
           
protected  org.apache.lucene.search.Query createAssocTypeQNameQuery(java.lang.String queryText)
           
protected  org.apache.lucene.search.Query createAuthorityQuery(java.lang.String queryText)
           
protected  org.apache.lucene.search.Query createOwnerQuery(java.lang.String queryText)
           
protected  org.apache.lucene.search.Query createPathQuery(java.lang.String queryText, boolean withRepeats)
           
protected  org.apache.lucene.search.Query createPrimaryAssocTypeQNameQuery(java.lang.String queryText)
           
protected  org.apache.lucene.search.Query createQNameQuery(java.lang.String queryText)
           
protected  org.apache.lucene.search.Query createReaderQuery(java.lang.String queryText)
           
protected  boolean isLucene()
           
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, MLAnalysisMode defaultSearchMLAnalysisMode, org.apache.lucene.index.IndexReader indexReader)
          Parses a query string, returning a Query.
 
Methods inherited from class org.alfresco.repo.search.impl.lucene.AbstractLuceneQueryParser
createAclTxCommitTimeQuery, createAclTxIdQuery, createAllQuery, createAncestorQuery, createAspectQuery, createDataTypeDefinitionQuery, createDbidQuery, createIdQuery, createIsContainerQuery, createIsNodeQuery, createIsNotNull, createIsNullQuery, createIsRootQuery, createIsUnsetQuery, createNodeRefQuery, createNoMatchQuery, createParentQuery, createPrimaryParentQuery, createTagQuery, createTermQuery, createTextQuery, createTransactionQuery, createTxCommitTimeQuery, createTxIdQuery, createTypeQuery, functionQueryBuilder, getAnalyzer, getDefaultSearchMLAnalysisMode, getDoesNotMatchFieldQuery, getFieldQuery, getFieldQuery, getFieldQuery, getFieldQuery, getFieldQueryImpl, getFuzzyQuery, getIndexReader, getLikeQuery, getPrefixQuery, getRangeQuery, getRangeQuery, getSearchParameters, getSpanQuery, getSuperFieldQuery, getSuperFuzzyQuery, getSuperPrefixQuery, getSuperWildcardQuery, getToken, getWildcardQuery, main, newPrefixQuery, newWildcardQuery, setDefaultSearchMLAnalysisMode, setDictionaryService, setIndexReader, setNamespacePrefixResolver, setSearchParameters, setTenantService
 
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,
                                                   MLAnalysisMode defaultSearchMLAnalysisMode,
                                                   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 -
indexReader -
Returns:
- the query
Throws:
org.apache.lucene.queryParser.ParseException - if the parsing fails

createAclIdQuery

protected org.apache.lucene.search.Query createAclIdQuery(java.lang.String queryText)
                                                   throws org.apache.lucene.queryParser.ParseException
Specified by:
createAclIdQuery in class AbstractLuceneQueryParser
Parameters:
queryText -
Returns:
Throws:
org.apache.lucene.queryParser.ParseException

createOwnerQuery

protected org.apache.lucene.search.Query createOwnerQuery(java.lang.String queryText)
                                                   throws org.apache.lucene.queryParser.ParseException
Specified by:
createOwnerQuery in class AbstractLuceneQueryParser
Parameters:
queryText -
Returns:
Throws:
org.apache.lucene.queryParser.ParseException

createReaderQuery

protected org.apache.lucene.search.Query createReaderQuery(java.lang.String queryText)
                                                    throws org.apache.lucene.queryParser.ParseException
Specified by:
createReaderQuery in class AbstractLuceneQueryParser
Parameters:
queryText -
Returns:
Throws:
org.apache.lucene.queryParser.ParseException

createAuthorityQuery

protected org.apache.lucene.search.Query createAuthorityQuery(java.lang.String queryText)
                                                       throws org.apache.lucene.queryParser.ParseException
Specified by:
createAuthorityQuery in class AbstractLuceneQueryParser
Parameters:
queryText -
Returns:
Throws:
org.apache.lucene.queryParser.ParseException

createAssocTypeQNameQuery

protected org.apache.lucene.search.Query createAssocTypeQNameQuery(java.lang.String queryText)
                                                            throws org.saxpath.SAXPathException
Specified by:
createAssocTypeQNameQuery in class AbstractLuceneQueryParser
Throws:
org.saxpath.SAXPathException

createPrimaryAssocTypeQNameQuery

protected org.apache.lucene.search.Query createPrimaryAssocTypeQNameQuery(java.lang.String queryText)
                                                                   throws org.saxpath.SAXPathException
Specified by:
createPrimaryAssocTypeQNameQuery in class AbstractLuceneQueryParser
Throws:
org.saxpath.SAXPathException

createQNameQuery

protected org.apache.lucene.search.Query createQNameQuery(java.lang.String queryText)
                                                   throws org.saxpath.SAXPathException
Specified by:
createQNameQuery in class AbstractLuceneQueryParser
Throws:
org.saxpath.SAXPathException

createPathQuery

protected org.apache.lucene.search.Query createPathQuery(java.lang.String queryText,
                                                         boolean withRepeats)
                                                  throws org.saxpath.SAXPathException
Specified by:
createPathQuery in class AbstractLuceneQueryParser
Throws:
org.saxpath.SAXPathException

addTextRange

protected void addTextRange(java.lang.String field,
                            java.lang.String part1,
                            java.lang.String part2,
                            boolean includeLower,
                            boolean includeUpper,
                            AnalysisMode analysisMode,
                            java.lang.String fieldName,
                            PropertyDefinition propertyDef,
                            IndexTokenisationMode tokenisationMode,
                            org.apache.lucene.search.BooleanQuery booleanQuery,
                            MLAnalysisMode mlAnalysisMode,
                            java.util.Locale locale)
                     throws org.apache.lucene.queryParser.ParseException
Specified by:
addTextRange in class AbstractLuceneQueryParser
Parameters:
field -
part1 -
part2 -
includeLower -
includeUpper -
analysisMode -
fieldName -
propertyDef -
tokenisationMode -
booleanQuery -
mlAnalysisMode -
locale -
Throws:
org.apache.lucene.queryParser.ParseException

addLocaleSpecificUntokenisedTextRangeFunction

protected void addLocaleSpecificUntokenisedTextRangeFunction(java.lang.String expandedFieldName,
                                                             java.lang.String lower,
                                                             java.lang.String upper,
                                                             boolean includeLower,
                                                             boolean includeUpper,
                                                             LuceneFunction luceneFunction,
                                                             org.apache.lucene.search.BooleanQuery booleanQuery,
                                                             MLAnalysisMode mlAnalysisMode,
                                                             java.util.Locale locale,
                                                             IndexTokenisationMode tokenisationMode)
Specified by:
addLocaleSpecificUntokenisedTextRangeFunction in class AbstractLuceneQueryParser

addLocaleSpecificUntokenisedMLOrTextFunction

protected void addLocaleSpecificUntokenisedMLOrTextFunction(java.lang.String expandedFieldName,
                                                            java.lang.String queryText,
                                                            LuceneFunction luceneFunction,
                                                            org.apache.lucene.search.BooleanQuery booleanQuery,
                                                            MLAnalysisMode mlAnalysisMode,
                                                            java.util.Locale locale,
                                                            IndexTokenisationMode tokenisationMode)
Specified by:
addLocaleSpecificUntokenisedMLOrTextFunction in class AbstractLuceneQueryParser

addMLTextAttributeQuery

protected void addMLTextAttributeQuery(java.lang.String field,
                                       java.lang.String queryText,
                                       AbstractLuceneQueryParser.SubQuery subQueryBuilder,
                                       AnalysisMode analysisMode,
                                       LuceneFunction luceneFunction,
                                       java.lang.String expandedFieldName,
                                       PropertyDefinition propertyDef,
                                       IndexTokenisationMode tokenisationMode,
                                       org.apache.lucene.search.BooleanQuery booleanQuery,
                                       MLAnalysisMode mlAnalysisMode,
                                       java.util.Locale locale)
                                throws org.apache.lucene.queryParser.ParseException
Specified by:
addMLTextAttributeQuery in class AbstractLuceneQueryParser
Throws:
org.apache.lucene.queryParser.ParseException

addContentAttributeQuery

protected org.apache.lucene.search.Query addContentAttributeQuery(java.lang.String queryText,
                                                                  AbstractLuceneQueryParser.SubQuery subQueryBuilder,
                                                                  AnalysisMode analysisMode,
                                                                  LuceneFunction luceneFunction,
                                                                  java.lang.String expandedFieldName,
                                                                  java.util.List expandedLocales,
                                                                  MLAnalysisMode mlAnalysisMode)
                                                           throws org.apache.lucene.queryParser.ParseException
Specified by:
addContentAttributeQuery in class AbstractLuceneQueryParser
Returns:
Throws:
org.apache.lucene.queryParser.ParseException

addTextAttributeQuery

protected void addTextAttributeQuery(java.lang.String field,
                                     java.lang.String queryText,
                                     AbstractLuceneQueryParser.SubQuery subQueryBuilder,
                                     AnalysisMode analysisMode,
                                     LuceneFunction luceneFunction,
                                     java.lang.String expandedFieldName,
                                     IndexTokenisationMode tokenisationMode,
                                     org.apache.lucene.search.BooleanQuery booleanQuery,
                                     MLAnalysisMode mlAnalysisMode,
                                     java.util.Locale locale)
                              throws org.apache.lucene.queryParser.ParseException
Specified by:
addTextAttributeQuery in class AbstractLuceneQueryParser
Parameters:
field -
queryText -
subQueryBuilder -
analysisMode -
luceneFunction -
expandedFieldName -
tokenisationMode -
booleanQuery -
mlAnalysisMode -
locale -
textFieldName -
Throws:
org.apache.lucene.queryParser.ParseException

isLucene

protected boolean isLucene()
Specified by:
isLucene in class AbstractLuceneQueryParser
Returns:


Copyright © 2005 - 2010 Alfresco Software, Inc. All Rights Reserved.