Я использую последнюю версию Elastic Search версии 1.3.2. Я просто хочу использовать фильтр диапазона в агрегированном поле (например, Average of students score). Я использую следующий запрос.
{
"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 падают между определенным диапазоном. Я искал через интернет, но не мог понять, как применять фильтр диапазона для агрегированной подачи (например, это оценка по шкале среднего масштаба). кто-то может помочь.
Это невозможно в текущей версии ElasticSearch (1.4.2).
Однако эта функция подробно описана в Github и должна быть включена в версию 2.0.