php - elasticsearch排序根本不起作用

标签 php elasticsearch elastica

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

//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
                        )

                )

        )

)

请帮忙。

提前致谢。

最佳答案

得到解决方案。实际上我把条件放在错误的地方。 我需要输入 $params['body']['sort']['movieid'] = ['order' => $urlParam[6]]; 而不是 $params['sort']['movieid'] = ['order' => $urlParam[6]];

关于php - elasticsearch排序根本不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35285370/

相关文章:

php - 通过php加载一个csv文件到mysql

javascript - 未捕获的语法错误 :Invalid or unexpected token

elasticsearch - Elasticsearch使用OR查询代替AND查询

elasticsearch - 流利+ Elasticsearch =连接被拒绝

php - FilterAggregation无法正常工作

PHP - 将动态生成(并回显)的 HTML 读入字符串?

php - 如何防止 PHP 中的 SQL 注入(inject)?

elasticsearch - 或与elasticsearch查询

php - 用于searchly.com的Elasticsearch PHP连接设置

elasticsearch - 使用查询过滤器为聚合设定范围