我有一个弹性索引
{class_id: 1, student_id: 10}
{class_id: 2, student_id: 20}
{class_id: 1, student_id: 30}
{class_id: 2, student_id: 40}
我想要一个聚合
{class_id: 1, student_ids: [10,30]}
{class_id: 2, student_ids: [20,40]}
不确定如何去做
答案 0 :(得分:1)
您只需使用两个terms
聚合,如下所示:
{
"size": 0,
"aggs": {
"classes": {
"terms": {
"field": "class_id"
},
"aggs": {
"students": {
"terms": {
"field": "student_id"
}
}
}
}
}
}
每个班级和每个班级桶里面都会有一个桶,每个班级的学生都会得到一个桶。