关于使用coreseek并为其做分页的介绍


Posted in PHP onJune 21, 2013

coreseek 做分页时找数据总量还真不好找。以为他会给一个方法(函数)什么的去获取,结果却不是。
首先需要了解:
num_matches:
当前返回的结果数,<= limit设置值。
max_matches: 最多返回的结果数,默认为1000,用户最多只能看到1000条搜索结果。这个是在csft_mysql.conf中设置的。
total_found: 结果总数。索引中所有满足查询条件的文档总数。这个是在你查询的返回结果中的数组中有的。当然前提是你必须在query前设置:$this->sc->SetArrayResult(true);
total: 最多返回结果数,取值取决于max_matches值和total_found值。如果total_found数超过max_matches,则total = max_matches,否则,total = total_found。这个也是在你查询的返回结果中的数组中有的。当然前提也是你必须在query前设置:$this->sc->SetArrayResult(true);
这样,了解了这几个属性之后就可以做分页了。

我们应该使用返回值中的total来做分页总数据。虽然这个不代表真实的返回值(当返回值大于max_matches,也就是1000,如真实返回2500,但是你却只能得到1000)。
代码是:

$this->sc->SetServer("127.0.0.1",9312);
  $this->sc->SetArrayResult(true);
  $this->sc->SetLimits($start,$page);
//如果需要搜索指定全文字段的内容,可以使用扩展匹配模式:
  $this->sc->SetMatchMode(SPH_MATCH_ANY); 
$res = $this->sc->Query($where,"main");
$count = $res['total'];

这个¥count就是我们要的分页的总数据了。
其他的后续怎么分页是以样式和数据结构做的,不能雷同,并且分页也是基础的东西,所以这里就不再多说分页的详细问题了。我这里单单讨论这个总数据的取值情况。因为很多人都取count($res['matches'])的值,但是这个是分页后的返回结果,你只能得到10,或者20或者其他的值。呵呵,那就搞笑了。
PHP 相关文章推荐
PHP4在WinXP下IIS和Apache2服务器上的安装实例
Oct 09 PHP
Email+URL的判断和自动转换函数
Oct 09 PHP
使用NetBeans + Xdebug调试PHP程序的方法
Apr 12 PHP
MySQL连接数超过限制的解决方法
Jul 17 PHP
php中inlcude()性能对比详解
Sep 16 PHP
PHP代码实现表单数据验证类
Jul 28 PHP
php基于闭包实现函数的自调用(递归)实例分析
Nov 11 PHP
PHP 7.1新特性的汇总介绍
Dec 16 PHP
PHP实现执行外部程序的方法详解
Aug 17 PHP
记录Yii2框架开发微信公众号遇到的问题及解决方法
Jul 20 PHP
php5对象复制、clone、浅复制与深复制实例详解
Aug 14 PHP
PHP正则之正向预查与反向预查讲解与实例
Apr 06 PHP
使用php将某个目录下面的所有文件罗列出来的方法详解
Jun 21 #PHP
探讨GDFONTPATH能否被winxp下的php支持
Jun 21 #PHP
浅析php中jsonp的跨域实例
Jun 21 #PHP
解析php中array_merge与array+array的区别
Jun 21 #PHP
邮箱正则表达式实现代码(针对php)
Jun 21 #PHP
关于查看MSSQL 数据库 用户每个表 占用的空间大小
Jun 21 #PHP
php输出echo、print、print_r、printf、sprintf、var_dump的区别比较
Jun 21 #PHP
You might like
发布一个用PHP fsockopen写的HTTP下载的类
2007/02/22 PHP
PHP常用开发函数解析之数组篇[未完结]
2012/07/30 PHP
探讨PHP使用eAccelerator的API开发详解
2013/06/09 PHP
php源码分析之DZX1.5随机数函数random用法
2015/06/17 PHP
jquery中ajax学习笔记4
2011/10/16 Javascript
浅谈javascript的原型继承
2012/07/25 Javascript
JQuery.Ajax之错误调试帮助信息介绍
2013/07/04 Javascript
JavaScript通过事件代理高亮显示表格行的方法
2015/05/27 Javascript
js+HTML5实现视频截图的方法
2015/06/16 Javascript
jquery实现简单合拢与展开网页面板的方法
2015/09/01 Javascript
JavaScript处理解析JSON数据过程详解
2015/09/11 Javascript
谈一谈javascript中继承的多种方式
2016/02/19 Javascript
js实现各种复制到剪贴板的方法(分享)
2016/10/27 Javascript
javascript html5轻松实现拖动功能
2017/03/01 Javascript
vue v-model表单控件绑定详解
2017/05/17 Javascript
在vue-cli脚手架中配置一个vue-router前端路由
2017/07/03 Javascript
浅谈NodeJs之数据库异常处理
2017/10/25 NodeJs
详解如何构建Promise队列实现异步函数顺序执行
2018/10/23 Javascript
vue实现的微信机器人聊天功能案例【附源码下载】
2019/02/18 Javascript
python解析xml模块封装代码
2014/02/07 Python
Python使用matplotlib简单绘图示例
2018/02/01 Python
pygame游戏之旅 添加游戏暂停功能
2018/11/21 Python
python使用pipeline批量读写redis的方法
2019/02/18 Python
python实现爬山算法的思路详解
2019/04/09 Python
python 统计文件中的字符串数目示例
2019/12/24 Python
html5表单及新增的改良元素详解
2016/06/07 HTML / CSS
美国最大的在线水培用品商店:GrowersHouse.com
2018/08/14 全球购物
工作交流会欢迎词
2014/01/12 职场文书
党的群众路线对照检查材料(个人)
2014/09/24 职场文书
党支部遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
党员干部廉政承诺书
2015/04/28 职场文书
2016年习总书记讲话学习心得体会
2016/01/20 职场文书
个人落户申请书怎么写?
2019/06/28 职场文书
适合毕业生创业的项目怎么找?
2019/08/08 职场文书
浅谈redis五大数据结构和使用场景
2021/04/12 Redis
面试中老生常谈的MySQL问答集锦夯实基础
2022/03/13 MySQL