我在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 ......?
任何帮助都会受到赞赏..!
答案 0 :(得分:1)
也许您应该将SetLimits更改为超过1000