0

我有这种文档的索引:

        {
            "_id": "6827", 
            "_index": "test", 
            "_score": 1.0,
            "_source": {
                "class": [
                    {
                        "name": "physics",
                        "grade" : [
                                12,
                                2
                            ],
                    },
                    {
                        "name": "french",
                        "grade" : [
                            4,
                            8,
                        ],
                    },
                    {
                        "name": "sport",
                        "grade": [
                            14,
                            18,
                            16
                        ]
                    }
                ]
            }, 
            "_type": "student"
        }

一个学生可能有不同数量的订阅课程

我想:

  1. 知道班级人数如何分配(1班,2班等的学生人数)
  2. 每节课上多少次(我知道所有可能的课)

我已经看到度量聚合是可能的,并且我想做的是可能的。但我是 es 的新手,我没有成功弥补这一点。

有人可以帮忙吗?

4

1 回答 1

0

我建议以不同的方式索引数据。有 1 份文件代表学生上单门课程。就像是:

{
  studentID: 123,
  studentName: "foo bar",
  classID: 111,
  classType: "physics"
}

这将使您能够更轻松地进行您想要进行的聚合。

于 2016-10-30T22:09:07.447 回答