Elasticsearch请求如何在两次之间获得前20个视频

时间:2014-06-05 09:38:28

标签: json elasticsearch facets

我需要在两次之间找到20个观看最多的视频,我这样做了:

    $Param['body']='
 {
    "query" : {
        "match_all" : {}
    },
    "facets" : {
        "WhatIwant" : {
            "range" : {
                "key_field" : "time",
                "value_field" : "video_id",
                "ranges" : [
                    { "from" :1399236597 , "to" : 1400331247 }

                ]
            }

        }

    }
}';

我得到一个结果,我可以看到一些参数,但我看不到整个列表:

    [facets] => Array
        (
            [WhatIwant] => Array
                (
                    [_type] => range
                    [ranges] => Array
                        (
                            [0] => Array
                                (
                                    [from] => 1400331247
                                    [count] => 4585
                                    [min] => -1
                                    [max] => 3584
                                    [total_count] => 4585
                                    [total] => 12884198
                                    [mean] => 2810.0758996728
                                )

                        )

                )

        )

)

如果有可能,我想要这样的事情:

     [facets] => Array
        (
            [WhatIwant] => Array
                (
                    [_type] => range
                    [ranges] => Array
                        (
                            [0] => Array
                                (
                                    [time] => 1400331247
                                    [video_id] => 4585

                                )
                            [1] => Array
                                (
                                    [time] => 1400331248
                                    [video_id] => 4582

                                )
                            [2] =>Array()
                            .....
                            ....
                             [19]
                        )

                )

        )

)

感谢您的阅读

1 个答案:

答案 0 :(得分:0)

您只需要一个简单的term方面,按video_id分组,并应用范围过滤器