sphinx没有返回所有结果

时间:2016-05-12 12:45:31

标签: php sphinx

我在php中使用SphinxClient()对象(使用sphinx api for php)

这是我的代码:

$cl = new SphinxClient();
$cl->SetServer( "localhost", 3312 );
$cl->SetMatchMode   ( SPH_MATCH_ALL );
$cl->SetSortMode    ( SPH_SORT_RELEVANCE );

$cl->SetArrayResult( true );

$cl->AddQuery( $sphinxQuery, $sphinxIndex, 'Search' );

$cl->SetLimits      ( 0, 1000, 1000 );

$result = $cl->RunQueries();

但我获得的结果只包含50个匹配,但它确实显示总数更多

Array
(
    ...
    [matches] => Array
    (
        [0] => Array
        (
            [id] => 91855
            ...
        )

        [1] => Array
        (
            ...
        )

        ...

        [49] => Array
        (
            ...
        )

    )

    [total] => 1000
    [total_found] => 1920
    [time] => 0.000
    [words] => Array
    (
        [584] => Array
        (
            [docs] => 2067
            [hits] => 2067
        )

    )

)

正如您所看到的,它显示0到49个匹配(即50个匹配),而限制是1000

你也可以看到总数是1000,而total_found是1920,这意味着结果不仅仅是50,但它不仅仅是返回它们

sphinx中是否有其他设置可减少匹配输出的次数

可能在某些版本的sphinx中引入了一些设置,它的默认值为50 ......?

任何帮助都会受到赞赏..!

1 个答案:

答案 0 :(得分:1)

也许您应该将SetLimits更改为超过1000