elasticsearch,C#,Asp.net,.net,elasticsearch" /> elasticsearch,C#,Asp.net,.net,elasticsearch" />

C# ElasticSearch GroupBy查询不工作

C# ElasticSearch GroupBy查询不工作,c#,asp.net,.net,elasticsearch,C#,Asp.net,.net,elasticsearch,我在点网框架中使用Elasticsearch。我遇到的问题是, 在Elasticsearch中,聚合将返回每个存储桶的文档计数。是否可以按列分组获取整个文档。我需要属于我分组依据的每个类别的文档 谢谢你可以试试这个。对我有用 公共bool GetCountWithGroupby() { var result2 = _client.Search<Car>(s => s .Index("vehicles") .Type("car")

我在点网框架中使用Elasticsearch。我遇到的问题是, 在Elasticsearch中,聚合将返回每个存储桶的文档计数。是否可以按列分组获取整个文档。我需要属于我分组依据的每个类别的文档


谢谢你可以试试这个。对我有用

公共bool GetCountWithGroupby() {

        var result2 = _client.Search<Car>(s => s
        .Index("vehicles")
        .Type("car")
        .Aggregations(a => a
        .Terms("my_agg", st => st
            .Field(o => o.Color)
        )));

        var myAgg = result2.Aggregations.Terms("my_agg").Buckets;

        foreach (var bucket in myAgg)
        {
            Console.WriteLine($"key: {bucket.Key}, count: {bucket.DocCount}");
        }
        return true;
    }
var result2=\u client.Search(s=>s
.索引(“车辆”)
.类型(“汽车”)
.聚合(a=>a
.Terms(“my_agg”,st=>st
.Field(o=>o.Color)
)));
var myAgg=result2.Aggregations.Terms(“my_agg”).bucket;
foreach(myAgg中的var bucket)
{
WriteLine($“key:{bucket.key},count:{bucket.DocCount}”);
}
返回true;
}
您可以试试这个。对我有用。
公共bool GetCountWithGroupby(){
var result2=\u client.Search(s=>s
.索引(“车辆”)
.类型(“汽车”)
.聚合(a=>a
.Terms(“my_agg”,st=>st
.Field(o=>o.Color)
)));
var myAgg=result2.Aggregations.Terms(“my_agg”).bucket;
foreach(myAgg中的var bucket)
{
WriteLine($“key:{bucket.key},count:{bucket.DocCount}”);
}
返回true;
}

欢迎来到,请阅读,添加代码、您尝试过的内容、任何研究、错误消息等都将帮助您获得更好的答案。请回答相应的问题。到目前为止您尝试了什么?我在查询中使用aggreration和搜索条件尝试了groupby。但是使用下面的代码,我得到了属于每个类别的文档的数量,而不是文档的详细信息。聚合(agg=>agg.Terms(“GroupByClause”,avg=>avg.Field(x=>x.Status))@Rashmi,您应该始终使用您尝试的代码、映射以及您期望的结果来支持您的问题。发布这样的问题仅仅是向人们解释你所面临的问题。请考虑编辑您的问题并添加您已经尝试过的支持代码。
You can try this. works for me.

public bool GetCountWithGroupby() {
        var result2 = _client.Search<Car>(s => s
        .Index("vehicles")
        .Type("car")
        .Aggregations(a => a
        .Terms("my_agg", st => st
            .Field(o => o.Color)
        )));

        var myAgg = result2.Aggregations.Terms("my_agg").Buckets;

        foreach (var bucket in myAgg)
        {
            Console.WriteLine($"key: {bucket.Key}, count: {bucket.DocCount}");
        }
        return true;
    }