在弹性搜索中对聚合字段执行范围过滤(例如,得分平均值)

时间:2014-09-02 20:55:28

标签: java postgresql elasticsearch

我正在使用最新的弹性搜索版本1.3.2。 我只想在聚合字段上执行范围过滤(例如,学生平均分数)。我正在使用以下查询..

   {
          "query": {
            "bool": {
              "must": [
                { "match": { "districtCode": "99322760000000" } },
                { "match": { "testWindowCode": "CA-SBAC-SBAC Summative" }},
                { "match": { "subject": "English" }},
                { "match": { "grade": 6 }}
              ]
            }
            },  "aggs": {
            "group_by_school": {
              "terms": {
                "field": "schoolCode"
              },
            "aggs": {
                    "average_scale_score": {
                      "avg": {
                        "field": "scaleScore"
              }
            }
          }
        }
      }
     }

这个查询为我提供了聚合结果,如学校的桶和他们的avg量表得分是正确的。现在我想过滤那些平均得分在某个指定范围之间的学校。我通过互联网搜索但无法了解如何在聚合字段上应用范围过滤器(例如,这种情况是平均尺度分数)。有人可以帮忙吗。

1 个答案:

答案 0 :(得分:0)

在当前版本的ElasticSearch(1.4.2)上,这是不可能的。

但是,此功能为detailed in Github,应包含在2.0版本中。