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 |