弹性搜索的统计/方面

时间:2013-03-17 15:31:22

标签: elasticsearch

我对elasticsearch中的facets有一点问题。 我有一个表视频,一个表频道,1个频道有很多视频。 我只是想在X最新视频中显示每个频道有%of views_count的甜甜圈。

在SQL中:

SELECT SUM(views_count) FROM videos WHERE videos.channel_id = X ORDER BY published_at DESC LIMIT Y

我可以在所有视频上执行此操作,但我不会使用LIMIT来做到这一点。任何的想法?? 感谢

1 个答案:

答案 0 :(得分:1)

如果我理解正确,您希望将您的方面限制在最新的100个视频中吗?

认为这是可能的,因此必须在查询(或facet_filter)上进行限制,设置要考虑的数据范围:

{
    "facets": {
        "views_count": {
            "terms": {
                "field": "videos.channel_id"
            }
        }
    }, 
    "from": 0, 
    "query": {
        "range" : {
            "published_at" : { 
                "from" : <some_start_date>
            }
        }
    }
}