从 NEST C# 嵌套聚合中获取 Elasticsearch 结果

Gia*_*ini 1 c# elasticsearch nest

我有这个 Elasticsearch NEST 查询:

var res = elastic.Search<SegmentRecord>(s => s.Index(esIndex).Aggregations(a => a.Terms("agg", x => x.Field(o => o.InstrumentName).Aggregations(a1 => a1.Terms("agg2", f => f.Field(y => y.GroupId))))));
Run Code Online (Sandbox Code Playgroud)

我如何循环遍历所有InstrumentName字段,并且对于每个字段,循环遍历所有GroupId字段?

Fil*_*das 5

在 Nest 5.4.0 上

foreach (var bucket in res.Aggs.Terms("agg").Buckets)
         {
             foreach (var innerBucket in bucket.Terms("agg2").Buckets)
             {
                 System.Console.WriteLine($"agg:{bucket.Key}, agg2:{innerBucket.Key} - {innerBucket.DocCount}");
             }
         }  
Run Code Online (Sandbox Code Playgroud)