我已经花了太多时间在这上面。我有这个聚合,我不能像它应该的那样工作。
我有大量具有这种结构的文件(我已经省略了一些与这种结构无关的部分):
{
"url": "THE_URL",
"url_params": {},
"title": "Het Nieuwsblad",
"referrer": null,
"time": "2015-08-25T08:35:15.729Z",
"referrerHost": null,
"timeOnSite": 16,
"blocks": [{
"viewTime": 11,
"click": 0,
"view": 1,
"block": "gentenaar__gentenaar-header"
}, {
"viewTime": 11,
"click": 0,
"view": 1,
"block": "gentenaar__gentenaar-headline"
}, {
"viewTime": 11,
"click": 0,
"view": 1,
"block": "gentenaar__gentenaar-top"
}, {
"viewTime": 11,
"click": 0,
"view": 1,
"block": "gentenaar__gentenaar-top-left"
}, {
"viewTime": 11,
"click": 0,
"view": 1,
"block": "gentenaar__gentenaar-top-right"
}, {
"viewTime": 11,
"click": 0,
"view": 1,
"block": "gentenaar__gentenaar-right"
}, {
"viewTime": 11,
"click": 0,
"view": 1,
"block": "gentenaar__gentenaar-sidebar"
}, {
"viewTime": 11,
"click": 0,
"view": 1,
"block": "gentenaar__gentenaar-footer"
}, {
"viewTime": 11,
"click": 0,
"view": 1,
"block": "news__breaking-news"
}, {
"viewTime": 11,
"click": 1,
"view": 1,
"block": "news__breaking-news-1"
}, {
"viewTime": 11,
"click": 0,
"view": 1,
"block": "news__breaking-news-2"
}, {
"viewTime": 11,
"click": 0,
"view": 1,
"block": "news__breaking-news-3"
}, {
"viewTime": 11,
"click": 0,
"view": 1,
"block": "news__breaking-news-4"
}, {
"viewTime": 11,
"click": 0,
"view": 1,
"block": "news__breaking-news-5"
}, {
"viewTime": 11,
"click": 0,
"view": 1,
"block": "news__breaking-news-6"
}, {
"viewTime": 11,
"click": 0,
"view": 1,
"block": "news__breaking-news-7"
}, {
"viewTime": 11,
"click": 0,
"view": 1,
"block": "news__breaking-news-sidebar-1"
}, {
"viewTime": 11,
"click": 0,
"view": 1,
"block": "news__breaking-news-sidebar-2-left"
}, {
"viewTime": 11,
"click": 0,
"view": 1,
"block": "news__breaking-news-sidebar-2-right"
}, {
"viewTime": 11,
"click": 0,
"view": 1,
"block": "news__breaking-news-sidebar-3"
}, {
"viewTime": 11,
"click": 0,
"view": 1,
"block": "news__breaking-news-footer"
}, {
"viewTime": 11,
"click": 0,
"view": 1,
"block": "news__fast-news-headline"
}, {
"viewTime": 11,
"click": 0,
"view": 1,
"block": "news__fast-news-head-1"
}, {
"viewTime": 11,
"click": 0,
"view": 1,
"block": "news__fast-news-head-2"
}, {
"viewTime": 11,
"click": 0,
"view": 1,
"block": "news__fast-news-head-3"
}, {
"viewTime": 11,
"click": 0,
"view": 1,
"block": "news__fast-news-head-4"
}, {
"viewTime": 11,
"click": 0,
"view": 1,
"block": "news__fast-news-head-5"
}, {
"viewTime": 11,
"click": 0,
"view": 1,
"block": "news__fast-news-head-6"
}, {
"viewTime": 11,
"click": 0,
"view": 1,
"block": "news__fast-news-1"
}, {
"viewTime": 0,
"click": 0,
"view": 0,
"block": "news__fast-news-2-left"
}, {
"viewTime": 0,
"click": 0,
"view": 0,
"block": "news__fast-news-2-right"
}, {
"viewTime": 0,
"click": 0,
"view": 0,
"block": "news__fast-news-3"
}, {
"viewTime": 0,
"click": 0,
"view": 0,
"block": "news__fast-news-4-left"
}, {
"viewTime": 0,
"click": 0,
"view": 0,
"block": "news__fast-news-4-right"
}, {
"viewTime": 0,
"click": 0,
"view": 0,
"block": "news__fast-news-5"
}, {
"viewTime": 0,
"click": 0,
"view": 0,
"block": "news__fast-news-6-left"
}, {
"viewTime": 0,
"click": 0,
"view": 0,
"block": "news__fast-news-6-right"
}, {
"viewTime": 1,
"click": 1,
"view": 1,
"block": "news__fast-news-right"
}, {
"viewTime": 0,
"click": 0,
"view": 0,
"block": "news__fast-news-bottom"
}, {
"viewTime": 11,
"click": 0,
"view": 1,
"block": "news__fast-news-sidebar-1"
}, {
"viewTime": 11,
"click": 0,
"view": 1,
"block": "news__fast-news-sidebar-2-left"
}, {
"viewTime": 11,
"click": 0,
"view": 1,
"block": "news__fast-news-sidebar-2-right"
}, {
"viewTime": 11,
"click": 0,
"view": 1,
"block": "news__fast-news-sidebar-3"
}, {
"viewTime": 11,
"click": 0,
"view": 1,
"block": "news__fast-news-sidebar-4-left"
}, {
"viewTime": 11,
"click": 0,
"view": 1,
"block": "news__fast-news-sidebar-4-right"
}, {
"viewTime": 1,
"click": 0,
"view": 1,
"block": "news__fast-news-sidebar-5"
}, {
"viewTime": 0,
"click": 0,
"view": 0,
"block": "news__fast-news-sidebar-6-left"
}, ...],
"activeAds": [{
"viewed": 1,
"clicked": 0,
"type": "button",
"width": 317,
"height": 75,
"timeViewed": 10
}, {
"viewed": 1,
"clicked": 0,
"type": "xlleaderboard",
"width": 990,
"height": 122,
"timeViewed": 10
}, ...]...
}
我遇到问题的阻止阵列。我想知道每个块的点击次数,视图和viewTime的总和。
我试图使用此查询:
{
"size": 0,
"query": {
"filtered": {
"query": {
"match_all": {}
},
"filter": {
"bool": {
"must": [
{
"range": {
"dt": {
"from": "2015-08-25T00:00:00+00:00",
"to": "2015-08-26T23:59:59+00:00"
}
}
},
{
"term": {
"url": "http://www.nieuwsblad.be/"
}
}
]
}
}
}
},
"aggs": {
"per_block": {
"term": {
"field": "blocks.blocks"
},
"aggs": {
"clicks": {
"sum": {
"field": "blocks.click"
}
}
}
}
}
}
对于activeAds,我使用几乎完全相同的代码,但它完美运行:
{
"size": 0,
"query": {
"filtered": {
"query": {
"match_all": {}
},
"filter": {
"bool": {
"must": [
{
"range": {
"dt": {
"from": "2015-08-25T00:00:00+00:00",
"to": "2015-08-26T23:59:59+00:00"
}
}
},
{
"terms": {
"page.page_type": [
"home"
]
}
}
],
"must_not": {
"term": {
"activeAds.timeViewed": 0
}
}
}
}
}
},
"aggs": {
"per_ad": {
"terms": {
"field": "activeAds.type"
},
"aggs": {
"clicks": {
"sum": {
"field": "activeAds.clicked"
}
},
"views": {
"sum": {
"field": "activeAds.viewed"
}
},
"total_time_viewed": {
"sum": {
"field": "activeAds.timeViewed"
}
}
}
}
}
}
任何人都知道我做错了什么?