您的位置:首页 > 其它

Sphinx搜索结果分页total和total_found的区别

2016-01-28 15:20 676 查看
关于max_matches,sphinx.conf配置默认值为1000,举个粟子,一次搜索中实际2000个匹配,但是sphinx搜索结果只会返回1000个,因为受到max_matches的限制,此时total=1000,total_found=2000,假设每页显示20条,如果用total_found作为分页那么第51页后的数据将为空白,因为已经超过了1000条记录
此时修改max_matches为2000,结果第51页之后数据依然空白,why?
网上查资料发现,$sphinx->SetLimits($start, $limit)的第三个参数,默认为1000,这个参数也是用来设定返回的最大匹配数的,所以这就是这为什么配制文件里改成2000后还是只取到1000条记录的原因...

还有一点,就是setLimits的第三个参数的值不能超过max_matches的值,否则将取不到记录

所以,total_found返回的是所有的匹配数,不受max_matches和setLimits的第三个参数的限制,而total返回的匹配数最大不超过max_matches和setLimits里的最小值
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Sphinx