1

我对弹性搜索中的方面有一点问题。我有一个表格视频,一个表格频道,一个频道有很多视频。我只想在 X 个最新视频上显示每个频道的 %views_count 的甜甜圈。

在 SQL 中:

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

我可以在所有视频上做到这一点,但我不会在 LIMIT 上做到这一点。任何想法??谢谢

4

1 回答 1

1

如果我对您的理解正确,您想将您的方面限制为最新的,例如 100 个视频?

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

{
    "facets": {
        "views_count": {
            "terms": {
                "field": "videos.channel_id"
            }
        }
    }, 
    "from": 0, 
    "query": {
        "range" : {
            "published_at" : { 
                "from" : <some_start_date>
            }
        }
    }
}
于 2013-03-18T07:32:13.453 回答