Class NoChildOptimizationQueryNodeProcessor
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.
Implements
Inherited Members
Namespace: Lucene.Net.QueryParsers.Flexible.Core.Processors
Assembly: Lucene.Net.QueryParser.dll
Syntax
public class NoChildOptimizationQueryNodeProcessor : QueryNodeProcessor, IQueryNodeProcessor
  Constructors
NoChildOptimizationQueryNodeProcessor()
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.
Declaration
public NoChildOptimizationQueryNodeProcessor()
  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  | 
      
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  | 
      
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  |