Class BooleanQuery2ModifierNodeProcessor
This processor is used to apply the correct ModifierQueryNode to BooleanQueryNodes children. This is a variant of BooleanModifiersQueryNodeProcessor which ignores precedence.
The StandardSyntaxParser knows the rules of precedence, but lucene does not. e.g.
(A AND B OR C AND D)
ist treated like
(+A +B +C +D)
.
This processor walks through the query node tree looking for BooleanQueryNodes. If an AndQueryNode is found, every child, which is not a ModifierQueryNode or the ModifierQueryNode is MOD_NONE, becomes a MOD_REQ. For default BooleanQueryNode, it checks the default operator is AND, if it is, the same operation when an AndQueryNode is found is applied to it. Each BooleanQueryNode which direct parent is also a BooleanQueryNode is removed (to ignore the rules of precedence).
Inheritance
Inherited Members
Assembly: Lucene.Net.QueryParser.dll
Syntax
[Serializable]
public class BooleanQuery2ModifierNodeProcessor : IQueryNodeProcessor
Constructors
Name | Description |
---|---|
BooleanQuery2ModifierNodeProcessor() |