关于使用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 相关文章推荐
PHP资源管理框架Assetic简介
Jun 12 PHP
微信公众平台天气预报功能开发
Jul 06 PHP
PHP利用header跳转失效的解决方法
Oct 24 PHP
php+xml编程之SimpleXML的应用实例
Jan 24 PHP
PHP curl CURLOPT_RETURNTRANSFER参数的作用使用实例
Feb 07 PHP
支持中文的PHP按字符串长度分割成数组代码
May 17 PHP
php如何控制用户对图片的访问 PHP禁止图片盗链
Mar 25 PHP
[原创]php实现数组按拼音顺序排序的方法
May 03 PHP
PHP开发中解决并发问题的几种实现方法分析
Nov 13 PHP
php高性能日志系统 seaslog 的安装与使用方法分析
Feb 29 PHP
php使用pthreads v3多线程实现抓取新浪新闻信息操作示例
Feb 21 PHP
php实现简易计算器
Aug 28 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
无线电波是什么?它是怎样传输的?
2021/03/01 无线电
在“咖啡之国”感受咖啡文化
2021/03/03 咖啡文化
php header示例代码(推荐)
2010/09/08 PHP
php mysql 判断update之后是否更新了的方法
2012/01/10 PHP
php计算数组不为空元素个数的方法
2014/01/27 PHP
WordPress的文章自动添加关键词及关键词的SEO优化
2016/03/01 PHP
jQuery中prepend()方法用法实例
2014/12/25 Javascript
Java File类的常用方法总结
2015/03/18 Javascript
jQuery实现自定义事件的方法
2015/04/17 Javascript
JS简单实现tab切换效果的多窗口显示功能
2016/09/07 Javascript
Vue的MVVM实现方法
2017/08/16 Javascript
判断jQuery是否加载完成,没完成继续判断的解决方法
2017/12/06 jQuery
原生JS实现瀑布流插件
2018/02/06 Javascript
在vue项目中,使用axios跨域处理
2018/03/07 Javascript
webpack的tree shaking的实现方法
2019/09/18 Javascript
python3序列化与反序列化用法实例
2015/05/26 Python
bpython 功能强大的Python shell
2016/02/16 Python
Python如何实现文本转语音
2016/08/08 Python
python中类的属性和方法介绍
2018/11/27 Python
Python OpenCV利用笔记本摄像头实现人脸检测
2020/08/20 Python
TensorFlow实现简单的CNN的方法
2019/07/18 Python
python之yield和Generator深入解析
2019/09/18 Python
解决python -m pip install --upgrade pip 升级不成功问题
2020/03/05 Python
2020最新pycharm汉化安装(python工程狮亲测有效)
2020/04/26 Python
HTML5的结构和语义(5):交互
2008/10/17 HTML / CSS
夏威夷航空官网:Hawaiian Airlines
2016/09/11 全球购物
印尼太阳百货公司网站:Matahari
2018/02/04 全球购物
施工安全协议书
2013/12/11 职场文书
中药专业自荐信范文
2014/03/18 职场文书
2014学校领导四风问题对照检查材料思想汇报
2014/09/22 职场文书
单位接收函范文
2015/01/30 职场文书
罚款通知怎么写
2015/04/22 职场文书
结婚十年感言
2015/07/31 职场文书
2016年感恩教师节校园广播稿
2015/12/18 职场文书
Python使用mitmproxy工具监控手机 下载手机小视频
2022/04/18 Python
使用CSS实现按钮边缘跑马灯动画
2023/05/07 HTML / CSS