C# Elasticsearch 聚合分组统计去重Sjid数量
想要实现一个根据'jcx'分组统计'sjid'去重的Elasticsearch查询吗?可以使用Elasticsearch的聚合功能来实现。以下是一个示例代码:
var searchResponse = client.Search<MyDocument>(s => s
.Size(0)
.Aggregations(a => a
.Terms('jcx_agg', t => t
.Field(f => f.Jcx)
.Aggregations(aa => aa
.Cardinality('sjid_agg', c => c
.Field(f => f.Sjid)
)
)
)
)
);
foreach (var jcxBucket in searchResponse.Aggregations.Terms('jcx_agg').Buckets)
{
var jcx = jcxBucket.Key;
var sjidCount = jcxBucket.Cardinality('sjid_agg').Value;
Console.WriteLine($'jcx: {jcx}, sjidCount: {sjidCount}');
}
这个查询会按照'jcx'字段进行分组,并统计每个分组中的'sjid'字段去重后的数量。可以根据自己的数据结构来修改查询中的字段名和类型。
原文地址: https://www.cveoy.top/t/topic/nblf 著作权归作者所有。请勿转载和采集!