1

Elasticsearch のファセットに少し問題があります。私はテーブル ビデオ、テーブル チャンネルを持っています。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 でそれを行うことはできません。何か案が??ありがとう

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 に答える