关于使用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 相关文章推荐
smarty的保留变量问题
Oct 23 PHP
php下HTTP Response中的Chunked编码实现方法
Nov 19 PHP
PHP数组无限分级数据的层级化处理代码
Dec 29 PHP
解析PHP跳出循环的方法以及continue、break、exit的区别介绍
Jul 01 PHP
ThinkPHP权限认证Auth实例详解
Jul 22 PHP
php 删除cookie方法详解
Dec 01 PHP
PHP中文编码小技巧
Dec 25 PHP
php购物车实现方法
Jan 03 PHP
php实现mysql数据库分表分段备份
Jun 18 PHP
php+mysql实现简单的增删改查功能
Jul 13 PHP
php实现不通过扩展名准确判断文件类型的方法【finfo_file方法与二进制流】
Apr 18 PHP
TP5框架简单登录功能实现方法示例
Oct 31 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 实例化类的一点摘记
2008/03/23 PHP
解析php通过cookies获取远程网页的指定代码
2013/06/25 PHP
php mail to 配置详解
2014/01/16 PHP
PHP程序员基本要求和必备技能
2014/05/09 PHP
js opener的使用详解
2014/01/11 Javascript
JQuery动画与特效实例分析
2015/02/02 Javascript
简介JavaScript中的getUTCFullYear()方法的使用
2015/06/10 Javascript
JavaScript将DOM事件处理程序封装为event.js 出现的低级错误问题
2016/08/03 Javascript
微信小程序传值以及获取值方法的详解
2019/04/29 Javascript
javascript合并两个数组最简单的实现方法
2019/09/14 Javascript
微信小程序实现天气预报功能(附源码)
2020/12/10 Javascript
vue登录页实现使用cookie记住7天密码功能的方法
2021/02/18 Vue.js
[01:34]2014DOTA2 TI预选赛预选赛 选手比赛房大揭秘!
2014/05/20 DOTA
[04:20]DOTA2-DPC中国联赛 正赛 VG vs LBZS 选手采访 1月19日
2021/03/11 DOTA
python实现下载文件的三种方法
2017/02/09 Python
python实现简易版计算器
2020/06/22 Python
Pandas分组与排序的实现
2019/07/23 Python
基于python实现可视化生成二维码工具
2020/07/08 Python
利用CSS3实现自定义滚动条代码分享
2016/08/18 HTML / CSS
详解html5页面 rem 布局适配方法
2018/01/12 HTML / CSS
意大利消费电子产品购物网站:SLG Store
2019/12/26 全球购物
PHP如何去执行一个SQL语句
2016/03/05 面试题
一份Java笔试题
2012/02/21 面试题
GC是什么?为什么要有GC?
2013/12/08 面试题
90后毕业生的求职信范文
2013/09/21 职场文书
个人四风问题对照检查材料思想汇报
2014/10/06 职场文书
思想政治表现评语
2015/01/04 职场文书
运动会1000米加油稿
2015/07/21 职场文书
创业计划书之淘宝网店
2019/10/08 职场文书
分享15个Webpack实用的插件!!!
2021/03/31 Javascript
HTML5中 rem适配方案与 viewport 适配问题详解
2021/04/27 HTML / CSS
JS中一些高效的魔法运算符总结
2021/05/06 Javascript
超详细Python解释器新手安装教程
2021/05/10 Python
小程序实现筛子抽奖
2021/05/26 Javascript
拙作再改《我的收音机情缘》
2022/04/05 无线电
HTML5页面打开微信小程序功能实现
2022/09/23 HTML / CSS