我正在使用 sphinx,除了 SetLimits 之外,一切似乎都运行良好,我在索引中只有 3 条记录,当我使用 $cl->SetLimits(0,2) 时,它返回 2 个结果。当我使用 $cl->SetLimits(1,2) 时,我也得到了 2,而当我使用 $cl->SetLimits(1,2) 时,我什么也没得到。
这是我对 setlimits 的理解
$cl->SetLimits(0,2);// should return the first two matches
$cl->SetLimits(1,2);// should return only one as I have only 3 records in the index
$cl->SetLimits(2,2);// should return nothing
这是我在数据库中插入的
insert into tindex values('1','test');
insert into tindex values('2','test');
insert into tindex values('3','test');
当我选择索引时我可以看到它。
php代码如下
$keywords = "test";
$index = "tindex";
$cl = new SphinxClient();
$cl->SetServer( "127.0.0.1", 9312 );
$cl->SetMatchMode( SPH_MATCH_ANY );
$cl->SetLimits(1,2);
$result = $cl->Query( $keywords, $index );
if ( $result === false ) {
echo "Query failed: " . $cl->GetLastError() . ".\n";
}
else {
if ( $cl->GetLastWarning() ) {
echo "WARNING: " . $cl->GetLastWarning() . "";
}
if ( ! empty($result["matches"]) ) {
foreach ( $result["matches"] as $doc => $docinfo ) {
}
print_r( $result );
}
}