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  |