弹性搜索排序根本不起作用

elasticsearch sort not working at all

我正在使用下面的代码进行排序

//http://10.132.150.186:8010/rest-client/service/movie/romance/hindi/2012/0/10/asc

if($urlParam[1] != 'all')
    $params['body']['query']['filtered']['filter']['and'][]['term']['gener'] = $urlParam[1];

if($urlParam[2] != 'all')
    $params['body']['query']['filtered']['filter']['and'][]['term']['language'] = $urlParam[2];

if($urlParam[3] != 'all')
    $params['body']['query']['filtered']['filter']['and'][]['term']['year'] = $urlParam[3];

if($urlParam[4] != 'all')
    $params['from'] = $urlParam[4];

if($urlParam[5] != 'all')
    $params['size'] = $urlParam[5]; 

if($urlParam[6] != 'all')
    $params['sort']['movieid'] = ['order' => $urlParam[6]]; 

$result = $client->search($params);

Url 在上面的代码中也提到了,我正在映射上面的代码。 除了第 6 个条件(即排序不工作)之外,所有条件都按预期工作。

下面是我得到的输出

Array
(
    [0] => Array
        (
            [_index] => pvrmod
            [_type] => movie
            [_id] => 22
            [_score] => 1
            [_source] => Array
                (
                    [movieid] => 22
                    [title] => namaste london22
                    [desc] => namaste london description
                    [gener] => romance
                    [language] => hindi
                    [year] => 2012
                    [tags] => Array
                        (
                            [0] => romance
                            [1] => akshay kumar
                            [2] => caterina kaif
                            [3] => romance
                            [4] => hindi
                            [5] => namaste london
                        )

                    [actor] => Array
                        (
                            [0] => akshay kumar
                            [1] => caterina kaif
                        )

                )

        )

    [4] => Array
        (
            [_index] => pvrmod
            [_type] => movie
            [_id] => 29
            [_score] => 1
            [_source] => Array
                (
                    [movieid] => 29
                    [title] => namaste london29
                    [desc] => namaste london description
                    [gener] => romance
                    [language] => hindi
                    [year] => 2012
                    [tags] => Array
                        (
                            [0] => romance
                            [1] => akshay kumar
                            [2] => caterina kaif
                            [3] => romance
                            [4] => hindi
                            [5] => namaste london
                        )

                    [actor] => Array
                        (
                            [0] => akshay kumar
                            [1] => caterina kaif
                        )

                )

        )

    [5] => Array
        (
            [_index] => pvrmod
            [_type] => movie
            [_id] => 21
            [_score] => 1
            [_source] => Array
                (
                    [movieid] => 21
                    [title] => namaste london21
                    [desc] => namaste london description
                    [gener] => romance
                    [language] => hindi
                    [year] => 2012
                    [tags] => Array
                        (
                            [0] => romance
                            [1] => akshay kumar
                            [2] => caterina kaif
                            [3] => romance
                            [4] => hindi
                            [5] => namaste london
                        )

                    [actor] => Array
                        (
                            [0] => akshay kumar
                            [1] => caterina kaif
                        )

                )

        )

)

请帮忙。

提前致谢。

明白了 solution.Actually 我把条件放在了错误的地方。 我需要输入 $params['body']['sort']['movieid'] = ['order' => $urlParam[6]]; 而不是 $params['sort']['movieid'] = ['order' => $urlParam[6]];