C# 클래스 Lucene.Net.QueryParsers.Flexible.Standard.Processors.BooleanQuery2ModifierNodeProcessor

This processor is used to apply the correct ModifierQueryNode to BooleanQueryNodes children. This is a variant of Precedence.Processors.BooleanModifiersQueryNodeProcessor which ignores precedence. The Parser.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 Modifier.MOD_NONE, becomes a Modifier.MOD_REQ. For default BooleanQueryNode, it checks the default operator is Operator.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).
상속: IQueryNodeProcessor
파일 보기 프로젝트 열기: apache/lucenenet

공개 메소드들

메소드 설명
BooleanQuery2ModifierNodeProcessor ( ) : Lucene.Net.QueryParsers.Flexible.Core.Config
GetQueryConfigHandler ( ) : QueryConfigHandler
Process ( IQueryNode queryTree ) : IQueryNode
SetQueryConfigHandler ( QueryConfigHandler queryConfigHandler ) : void

보호된 메소드들

메소드 설명
FillChildrenBufferAndApplyModifiery ( IQueryNode parent ) : void
IsDefaultBooleanQueryNode ( IQueryNode toTest ) : bool
PostProcessNode ( IQueryNode node ) : IQueryNode
PreProcessNode ( IQueryNode node ) : IQueryNode
ProcessChildren ( IQueryNode queryTree ) : void
TagModifierButDoNotOverride ( IQueryNode node, Modifier mod ) : void

비공개 메소드들

메소드 설명
ApplyModifier ( IQueryNode node, Modifier mod ) : IQueryNode
ProcessIteration ( IQueryNode queryTree ) : IQueryNode

메소드 상세

BooleanQuery2ModifierNodeProcessor() 공개 메소드

public BooleanQuery2ModifierNodeProcessor ( ) : Lucene.Net.QueryParsers.Flexible.Core.Config
리턴 Lucene.Net.QueryParsers.Flexible.Core.Config

FillChildrenBufferAndApplyModifiery() 보호된 메소드

protected FillChildrenBufferAndApplyModifiery ( IQueryNode parent ) : void
parent IQueryNode
리턴 void

GetQueryConfigHandler() 공개 메소드

public GetQueryConfigHandler ( ) : QueryConfigHandler
리턴 Lucene.Net.QueryParsers.Flexible.Core.Config.QueryConfigHandler

IsDefaultBooleanQueryNode() 보호된 메소드

protected IsDefaultBooleanQueryNode ( IQueryNode toTest ) : bool
toTest IQueryNode
리턴 bool

PostProcessNode() 보호된 메소드

protected PostProcessNode ( IQueryNode node ) : IQueryNode
node IQueryNode
리턴 IQueryNode

PreProcessNode() 보호된 메소드

protected PreProcessNode ( IQueryNode node ) : IQueryNode
node IQueryNode
리턴 IQueryNode

Process() 공개 메소드

public Process ( IQueryNode queryTree ) : IQueryNode
queryTree IQueryNode
리턴 IQueryNode

ProcessChildren() 보호된 메소드

protected ProcessChildren ( IQueryNode queryTree ) : void
queryTree IQueryNode
리턴 void

SetQueryConfigHandler() 공개 메소드

public SetQueryConfigHandler ( QueryConfigHandler queryConfigHandler ) : void
queryConfigHandler Lucene.Net.QueryParsers.Flexible.Core.Config.QueryConfigHandler
리턴 void

TagModifierButDoNotOverride() 보호된 메소드

protected TagModifierButDoNotOverride ( IQueryNode node, Modifier mod ) : void
node IQueryNode
mod Modifier
리턴 void