私には興味深い課題があり、簡単な答えがあると思います。
構文的に次のようなことを行うと、NEST フィルターが正しく機能することがわかっています。
var andFilter = FilterFactory.AndFilter(
FilterFactory.TermFilter("name.first", "shay1"),
FilterFactory.TermFilter("name.first", "shay4")
);
私の基本サービスでは、発信者が何らかの列挙可能なアイテムのリストを渡してフィルタリングできるようにする必要があります。
私は基本的に、プログラムで次のようなことを達成できるようにしたいと考えています(フィルターはメソッドに渡されます):
var andFilter = new FilterDescriptor();
foreach (var filter in filters)
{
andFilter = filter concatenated to andFilter
}
つまり、{ {"first.name", "joe"}, {"first.name", "jim"}, {"first.name", "frank"}} の配列を渡した場合、に相当するものを生成する
var andFilter = FilterFactory.AndFilter(
FilterFactory.TermFilter("name.first", "joe"),
FilterFactory.TermFilter("name.first", "joe"),
FilterFactory.TermFilter("name.first", "frank")
);