elasticsearch,facets,Json,elasticsearch,Facets" /> elasticsearch,facets,Json,elasticsearch,Facets" />

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

Json Elasticsearch请求如何在两次之间获得前20名视频,json,elasticsearch,facets,Json,elasticsearch,Facets,我需要在两次之间找到观看次数最多的20个视频,我做到了: $Param['body']=' { "query" : { "match_all" : {} }, "facets" : { "WhatIwant" : { "range" : { "key_field" : "time", "value_field" : "video_id",

我需要在两次之间找到观看次数最多的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]
                        )

                )

        )

)

感谢您阅读我的文章

您只需要一个简单的
术语
方面,按
视频id
分组并应用范围过滤器

我这样做了,但它不是我想要的。。。{“查询”:{“匹配所有”:{},“facets”:{“whatiwant”:{“terms”:{“field”:“video_id”},“range”:{“key_field”:“time”,“ranges”:[{“from”:1399236597,“to”:1400331247}}}}}您需要类似于:{“查询”:{“匹配所有”:{},“facets”:{“whatiwant”:{“术语”:{“字段”:“视频id”},刻面过滤器:{“范围”:{“从”:1399236597,“到”:1400331247}}}}}我这样做了,它为您的帮助工作了thx。{“刻面”:{“视频”:{“术语”:{“字段”:“视频id”,“大小”:“21”},“刻面过滤器”:{“范围”:{“时间”:{“从”:“.$startTime.”,“到”“:”.$endTime.“}},,“查询”:{“匹配所有”:{}