关于使用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 相关文章推荐
我的论坛源代码(六)
Oct 09 PHP
php+mysql实现无限级分类 | 树型显示分类关系
Nov 19 PHP
php email邮箱正则
Oct 08 PHP
php 远程图片保存到本地的函数类
Dec 08 PHP
PHP面向对象三大特点学习(充分理解抽象、封装、继承、多态)
May 07 PHP
解决PHP4.0 和 PHP5.0类构造函数的兼容问题
Aug 01 PHP
如何让搜索引擎抓取AJAX内容解决方案
Aug 25 PHP
php将csv文件导入到mysql数据库的方法
Dec 24 PHP
codeigniter中view通过循环显示数组数据的方法
Mar 20 PHP
php控制文件下载速度的方法
Mar 24 PHP
PHP中的类型约束介绍
May 11 PHP
在 PHP 和 Laravel 中使用 Traits的方法
Nov 13 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上传、管理照片示例
2006/10/09 PHP
php基础知识:类与对象(5) static
2006/12/13 PHP
php用数组返回无限分类的列表数据的代码
2010/08/08 PHP
基于session_unset与session_destroy的区别详解
2013/06/03 PHP
WordPress中Gravatar头像缓存到本地及相关优化的技巧
2015/12/19 PHP
Yii中Model(模型)的创建及使用方法
2015/12/28 PHP
PHP模拟post提交数据方法汇总
2016/02/16 PHP
thinkphp整合系列之极验滑动验证码geetest功能
2019/06/18 PHP
Confirmer JQuery确认对话框组件
2010/06/09 Javascript
解决WordPress使用CDN后博文无法评论的错误
2015/12/15 Javascript
Bootstrap布局之栅格系统详解
2016/06/13 Javascript
jquery 判断是否支持Placeholder属性的方法
2017/02/07 Javascript
jQuery为DOM动态追加事件的方法
2017/02/16 Javascript
socket.io学习教程之基本应用(二)
2017/04/29 Javascript
Vue中正确使用jQuery的方法
2017/10/30 jQuery
微信小程序如何获取用户信息
2018/01/26 Javascript
JavaScript 中定义函数用 var foo = function () {} 和 function foo()区别介绍
2018/03/01 Javascript
浅析Vue项目中使用keep-Alive步骤
2018/07/27 Javascript
对vuejs的v-for遍历、v-bind动态改变值、v-if进行判断的实例讲解
2018/08/27 Javascript
vue element-ui读取pdf文件的方法
2019/11/26 Javascript
PHP读取远程txt文档到数组并实现遍历
2020/08/25 Javascript
解决antd日期选择组件,添加value就无法点击下一年和下一月问题
2020/10/29 Javascript
在Python的Flask框架中验证注册用户的Email的方法
2015/09/02 Python
python利用paramiko连接远程服务器执行命令的方法
2017/10/16 Python
python通过tcp发送xml报文的方法
2018/12/28 Python
Python 70行代码实现简单算式计算器解析
2019/08/30 Python
python的flask框架难学吗
2020/07/31 Python
Python wordcloud库安装方法总结
2020/12/31 Python
丝芙兰美国官网:SEPHORA美国
2016/08/03 全球购物
学生党员思想汇报
2013/12/28 职场文书
《夸父追日》教学反思
2014/02/26 职场文书
群众路线问题查摆对照检查材料
2014/10/04 职场文书
会计人员岗位职责
2015/02/03 职场文书
Nginx四层负载均衡的配置指南
2021/06/11 Servers
python开发人人对战的五子棋小游戏
2022/05/02 Python
Nginx如何配置根据路径转发详解
2022/07/23 Servers