想要实现一个根据'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'字段去重后的数量。可以根据自己的数据结构来修改查询中的字段名和类型。

C# Elasticsearch 聚合分组统计去重Sjid数量

原文地址: https://www.cveoy.top/t/topic/nblf 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录