我也想在此查询中获得老师的名字。
由此,我可以吸引教师,获得她所从事的类(class)数量,以及她每年获得的收入。
但是我无法在此查询中获得完整的详细信息。我也想显示老师的名字。

这是我当前的查询

{
  "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
}

最佳答案

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

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

根据您的实际架构调整脚本细节。

关于elasticsearch - Elasticsearch 聚合和详细信息,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31717068/

10-11 08:39