org.alfresco.repo.search.impl.lucene
Class LuceneQueryParser
java.lang.Object
org.apache.lucene.queryParser.QueryParser
org.alfresco.repo.search.impl.lucene.AbstractLuceneQueryParser
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:
- 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.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 |
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,
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.