多项搜索NEST C#

Ore*_*lus 8 c# elasticsearch nest

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

var result1 = _client.Search<type1>(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<type2>(s => s
                      .Query(q => q
                          .Terms(t => t.arg3, result1))
                          .Take(_allData)
                          ).Documents.Select(s => s.ar3).ToList();
Run Code Online (Sandbox Code Playgroud)

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

谢谢你的帮助.

Mar*_*man 5

您可以这样表达多个查询:

.Query(q=>q.Terms(t=>t.arg3, result1) && q.Terms(t=>t.arg1, value1))
Run Code Online (Sandbox Code Playgroud)

确保阅读有关编写查询文档,以发现NEST必须提供的所有优点。