弹性搜索聚合和详细信息

时间:2015-07-30 06:55:47

标签: elasticsearch elasticsearch-plugin

我正在尝试在此查询中获取教师姓名.. 由此我能够让老师们循环,获得她所工作的课程数量,以及她每年获得的金额。 但我无法在此查询中获得完整的详细信息。我也想显示老师的名字。

这是我当前的查询

{
  "aggs": {
    "teacher": {
      "terms": {
        "field": "teacher_id",
        "size": 10
      },
      "aggs": {
        "academic_year": {
          "date_histogram": {
            "field": "acc_year",
            "interval": "year"
          },
          "aggs": {
            "income": {
              "stats": {
                "field": "teacher_hourly_fee"
              }
            }
          }
        }
      }
    }
  },
  "size": 0
}

1 个答案:

答案 0 :(得分:0)

最直接的方法可能是使用脚本将教师ID和名称组合为生成的术语:

{
    "aggs" : {
        "teacher" : {
            "terms" : {
                "script" : "_source.teacher_id + '-' + _source.teacher_name",
                "size": 10
            }
        }
    }
}

根据您的实际架构调整脚本详情。