多项搜索NEST C#

我想进行匹配多个值(值数组)的搜索,如下所示:

var result1 = _client.Search(s => s .Fields(f => f.trip_id) .Query(q => q .Terms(t => t.arg1, value1)).Take(_allData)) .Documents.Select(d => d.arg2).ToArray(); var result2 = _client.Search(s => s .Query(q => q .Terms(t => t.arg3, result1)) .Take(_allData) ).Documents.Select(s => s.ar3).ToList(); 

我能怎么做 ? 我在思考方面,但我不知道如何做到这一点。 现在唯一有效的方法是使用foreach迭代器,它不是真正有效的…

谢谢你的帮助。

您可以表达多个查询,如下所示:

 .Query(q=>q.Terms(t=>t.arg3, result1) && q.Terms(t=>t.arg1, value1)) 

请务必阅读有关编写查询的文档,以发现NEST提供的所有好东西。

Orelus ,我想用你的解决方案

 .And( af=>af.Term(...), af=>af.Term(...) ) 

我不明白这适合哪里,这是我的非工作filter的一个例子

 var results = client.Search(s => s .Query(q => q .Filtered(f => f. Filter(b => b.Bool(m => m.Must( t => t .Term(p => p.artist, artist) && t.Term(p2 => p2.year, year) ) ) ) ) ) );