public class NoChildOptimizationQueryNodeProcessor extends QueryNodeProcessorImpl
A NoChildOptimizationQueryNodeProcessor
removes every
BooleanQueryNode, BoostQueryNode, TokenizedPhraseQueryNode or
ModifierQueryNode that do not have a valid children.
Example: When the children of these nodes are removed for any reason then the nodes may become invalid.
Constructor and Description |
---|
NoChildOptimizationQueryNodeProcessor() |
Modifier and Type | Method and Description |
---|---|
protected QueryNode |
postProcessNode(QueryNode node)
This method is invoked for every node when walking up the tree.
|
protected QueryNode |
preProcessNode(QueryNode node)
This method is invoked for every node when walking down the tree.
|
protected List<QueryNode> |
setChildrenOrder(List<QueryNode> children)
This method is invoked for every node that has at least on child.
|
getQueryConfigHandler, process, processChildren, setQueryConfigHandler
public NoChildOptimizationQueryNodeProcessor()
protected QueryNode postProcessNode(QueryNode node) throws QueryNodeException
QueryNodeProcessorImpl
postProcessNode
in class QueryNodeProcessorImpl
node
- node the query node to be post-processedQueryNodeException
- if something goes wrong during the query node processingprotected QueryNode preProcessNode(QueryNode node) throws QueryNodeException
QueryNodeProcessorImpl
preProcessNode
in class QueryNodeProcessorImpl
node
- the query node to be pre-processedQueryNodeException
- if something goes wrong during the query node processingprotected List<QueryNode> setChildrenOrder(List<QueryNode> children) throws QueryNodeException
QueryNodeProcessorImpl
QueryNodeProcessorImpl.postProcessNode(QueryNode)
is invoked.setChildrenOrder
in class QueryNodeProcessorImpl
children
- the list containing all current node's childrenQueryNodeException
- if something goes wrong during the query node processingCopyright © 2000-2021 Apache Software Foundation. All Rights Reserved.