关于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里的最小值