【发布时间】:2015-09-09 15:49:05
【问题描述】:
我有点迷茫……
考虑一下这个简单的索引文档:
{
"url" : "http://...?mypage"
"pages": [
{
"elapsed": 1190,
"type": "LOADPAGE"
},
{
"elapsed": 115400,
"type": "ONPAGE"
},
{
"elapsed": 1100,
"type": "LOADPAGE"
},
{
"elapsed": 1340,
"type": "ONPAGE"
}
]
}
我正在尝试计算平均 LOADPAGE,所以我知道我需要“avg”或“stats”聚合。
"aggs": {
"compute_loadpage": {
"filter": { "term": { "pages.type": "loadpage" } },
"aggs": {
"loadpage_all": {
"stats": {
"field": "pages.elapsed"
}
}
}
}
}
我知道“过滤器” agg 将创建一个包含与我的过滤器对应的所有文档的存储桶,那么我的 agg 将在我的完整“页面”数组上完成是可以理解的。
我怎样才能创建一个只有 LOADPAGE 值的存储桶,然后我就可以对其进行聚合,或者我必须使用脚本聚合吗?
【问题讨论】:
标签: arrays elasticsearch filtering aggregation bucket