Class WildcardQueryNodeProcessor
- java.lang.Object
-
- org.apache.lucene.queryparser.flexible.core.processors.QueryNodeProcessorImpl
-
- org.apache.lucene.queryparser.flexible.standard.processors.WildcardQueryNodeProcessor
-
- All Implemented Interfaces:
QueryNodeProcessor
public class WildcardQueryNodeProcessor extends QueryNodeProcessorImpl
TheStandardSyntaxParsercreatesPrefixWildcardQueryNodenodes which have values containing the prefixed wildcard. However, LucenePrefixQuerycannot contain the prefixed wildcard. So, this processor basically removed the prefixed wildcard from thePrefixWildcardQueryNodevalue.- See Also:
PrefixQuery,PrefixWildcardQueryNode
-
-
Field Summary
Fields Modifier and Type Field Description private static java.util.regex.PatternWILDCARD_PATTERN
-
Constructor Summary
Constructors Constructor Description WildcardQueryNodeProcessor()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static java.lang.StringanalyzeWildcard(Analyzer a, java.lang.String field, java.lang.String wildcard)private booleanisPrefixWildcard(java.lang.CharSequence text)private booleanisWildcard(java.lang.CharSequence text)protected QueryNodepostProcessNode(QueryNode node)This method is invoked for every node when walking up the tree.protected QueryNodepreProcessNode(QueryNode node)This method is invoked for every node when walking down the tree.protected java.util.List<QueryNode>setChildrenOrder(java.util.List<QueryNode> children)This method is invoked for every node that has at least on child.-
Methods inherited from class org.apache.lucene.queryparser.flexible.core.processors.QueryNodeProcessorImpl
getQueryConfigHandler, process, processChildren, setQueryConfigHandler
-
-
-
-
Method Detail
-
analyzeWildcard
private static java.lang.String analyzeWildcard(Analyzer a, java.lang.String field, java.lang.String wildcard)
-
postProcessNode
protected QueryNode postProcessNode(QueryNode node) throws QueryNodeException
Description copied from class:QueryNodeProcessorImplThis method is invoked for every node when walking up the tree.- Specified by:
postProcessNodein classQueryNodeProcessorImpl- Parameters:
node- node the query node to be post-processed- Returns:
- a query node
- Throws:
QueryNodeException- if something goes wrong during the query node processing
-
isWildcard
private boolean isWildcard(java.lang.CharSequence text)
-
isPrefixWildcard
private boolean isPrefixWildcard(java.lang.CharSequence text)
-
preProcessNode
protected QueryNode preProcessNode(QueryNode node) throws QueryNodeException
Description copied from class:QueryNodeProcessorImplThis method is invoked for every node when walking down the tree.- Specified by:
preProcessNodein classQueryNodeProcessorImpl- Parameters:
node- the query node to be pre-processed- Returns:
- a query node
- Throws:
QueryNodeException- if something goes wrong during the query node processing
-
setChildrenOrder
protected java.util.List<QueryNode> setChildrenOrder(java.util.List<QueryNode> children) throws QueryNodeException
Description copied from class:QueryNodeProcessorImplThis method is invoked for every node that has at least on child. It's invoked right beforeQueryNodeProcessorImpl.postProcessNode(QueryNode)is invoked.- Specified by:
setChildrenOrderin classQueryNodeProcessorImpl- Parameters:
children- the list containing all current node's children- Returns:
- a new list containing all children that should be set to the current node
- Throws:
QueryNodeException- if something goes wrong during the query node processing
-
-