我想用NEST附加多個布爾過濾器,但是我不能(在一般情況下)在單個語句中這樣做,因爲我想構建一組依賴於過濾器的篩選器在不同的條件下。將多個布爾過濾器追加到NEST查詢
事情是這樣的僞代碼:
// 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。 :)