我是Sphinx的新手,需要一些帮助。我用PHP脚本查询Sphinx服务器,如:
$cl = new SphinxClient();
$cl->SetServer( "host", 9312 );
$cl->SetMatchMode( SPH_MATCH_ANY );
$result = $cl->Query( "some word", "index1" );
现在我想知道如何提取SAME查询前20个结果,接下来的20个结果等,如MySQL LIMIT 0,20
,然后是LIMIT 20,20
等?
答案 0 :(得分:1)
$offset = 0;
if (isset($_GET['offset'])) {
$offset = $_GET['offset'];
}
$limit = 30;
$max_matches = 1000;
$cl = new SphinxClient();
$cl->SetLimits((int)$offset,
// limit for this "page", starting at $offset
(int)$limit,
// absolute limit for number of results
((int)$limit > $max_matches)
? (int)$limit
: (int)$max_matches);
其中$offset
是当前开始记录(默认为0),$limit
是每页显示的记录数,$max_matches
是您希望允许返回的最大匹配数在一次搜索中。
答案 1 :(得分:1)
$ cl-> SetLimits($ ooset,$ limit);
http://sphinxsearch.com/wiki/doku.php?id=php_api_docs#setlimits_offset_limit_max_cutoff
答案 2 :(得分:1)
$ cl-> SetLimits($ offset,$ limit);
http://sphinxsearch.com/wiki/doku.php?id=php_api_docs#setlimits_offset_limit_max_cutoff
答案 3 :(得分:0)
第一次
$cl->SetLimits(0,20);
然后
$cl->SetLimits(20,20);