我正在使用运算符重载语法动态构建一系列过滤器。
MainQuery &= QueryContainer1;
MainQuery &= QueryContainer2;
etc.
有些过滤器是可选的,所以我希望它们只在找到时才能提升结果。我基本上想要这个:
bool
|___must
| |___term
| |___term
|
|___filter
| |___term
|
|___should
|___term
|___term
似乎没有办法通过重载语法来实现这一点。它实际上在文档中说这不会产生上述结果,因为它期望至少有一个“应该条款”匹配。
MustTerm1 && Filter1 && (ShouldTerm1 || ShouldTerm2)
文档:
我真正想做的是:
MustTerm1 && Filter1 && (optionally)ShouldTerm1 && (optionally)ShouldTerm2
或者如果在这种语法中无法完成,还有其他方法可以在我构建它时将“应该”过滤器添加到我的Querycontainer中吗?