【发布时间】:2021-04-24 19:28:37
【问题描述】:
我想用 NEST 附加多个布尔过滤器,但我不能(实际上)在单个语句中完成,因为我想根据不同的条件构建一组 Bool 过滤器.
类似这样的伪代码:
// Append a filter
searchDescriptor.Filter(f => f.Bool(b => b.Must(m => m.Term(i => i.SomeProperty, "SomeValue"))));
if (UserId.HasValue)
{
// Optionally append another filter (AND condition with the first filter)
searchDescriptor.Filter(f => f.Bool(b => b.Must(m => m.Term(i => i.AnotherProperty, "MyOtherValue"))));
}
var result = Client.Search(searchDescriptor);
现在看来,当附加第二个可选过滤器时,它实际上取代了第一个过滤器。
我确定我在语法上遗漏了一些东西,但我无法弄清楚,而且 NEST 文档在过滤器 DSL 上有点薄。 :)
【问题讨论】:
标签: elasticsearch nest