基于sphinx的站内搜索如何做分页。

2012-12-04 10:37:42 +08:00
 wyx
我的想法是:取得搜索出来结果总的条数,然后除以每页面显示的条数,然后可以得到一共的页面数。
但是他们提供的api貌似没有取得总条数的这么个函数。
6983 次点击
所在节点    编程
2 条回复
phzzy
2012-12-05 11:05:52 +08:00
$page = isset($_GET['p']) ? intval($_GET['p']) : 1;
if($page <= 0) $page = 1;
$pagesize = 20;
$s = new SphinxClient ();
$s->SetServer('localhost' , 9312);
$s->SetLimits(($page - 1) * $pagesize , $pagesize , 3000);
$s->SetMaxQueryTime(3000);
$s->SetSortMode(SPH_SORT_ATTR_DESC , 'id_attr');
$result = $s->Query($keyword , 'lixiansou');
if(empty($result) || $result['total_found'] == 0) {
$count = 0;
$ids = array();
} else {
$count = $result['total_found'];
$ids = array_keys($result['matches']);
}


php 对应的一段 sphinx api 代码
返回结果中有 total_found 用来分页
wyx
2012-12-07 17:42:52 +08:00
谢谢~我之前没注意到total_found

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/54032

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX