Class BooleanSingleChildOptimizationQueryNodeProcessor
This processor removes every BooleanQueryNode that contains only one child and returns this child. If this child is ModifierQueryNode that was defined by the user. A modifier is not defined by the user when it's a BooleanModifierNode
Implements
Inherited Members
Namespace: Lucene.Net.QueryParsers.Flexible.Standard.Processors
Assembly: Lucene.Net.QueryParser.dll
Syntax
public class BooleanSingleChildOptimizationQueryNodeProcessor : QueryNodeProcessor, IQueryNodeProcessor
Constructors
BooleanSingleChildOptimizationQueryNodeProcessor()
This processor removes every BooleanQueryNode that contains only one child and returns this child. If this child is ModifierQueryNode that was defined by the user. A modifier is not defined by the user when it's a BooleanModifierNode
Declaration
public BooleanSingleChildOptimizationQueryNodeProcessor()
See Also
Methods
PostProcessNode(IQueryNode)
This method is invoked for every node when walking up the tree.
Declaration
protected override IQueryNode PostProcessNode(IQueryNode node)
Parameters
Type | Name | Description |
---|---|---|
IQueryNode | node | node the query node to be post-processed |
Returns
Type | Description |
---|---|
IQueryNode | a query node |
Overrides
Exceptions
Type | Condition |
---|---|
QueryNodeException | if something goes wrong during the query node processing |
See Also
PreProcessNode(IQueryNode)
This method is invoked for every node when walking down the tree.
Declaration
protected override IQueryNode PreProcessNode(IQueryNode node)
Parameters
Type | Name | Description |
---|---|---|
IQueryNode | node | the query node to be pre-processed |
Returns
Type | Description |
---|---|
IQueryNode | a query node |
Overrides
Exceptions
Type | Condition |
---|---|
QueryNodeException | if something goes wrong during the query node processing |
See Also
SetChildrenOrder(IList<IQueryNode>)
This method is invoked for every node that has at least on child. It's invoked right before PostProcessNode(IQueryNode) is invoked.
Declaration
protected override IList<IQueryNode> SetChildrenOrder(IList<IQueryNode> children)
Parameters
Type | Name | Description |
---|---|---|
IList<IQueryNode> | children | the list containing all current node's children |
Returns
Type | Description |
---|---|
IList<IQueryNode> | a new list containing all children that should be set to the current node |
Overrides
Exceptions
Type | Condition |
---|---|
QueryNodeException | if something goes wrong during the query node processing |