关于使用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
phpMyAdmin2.11.6安装配置方法
Aug 24 PHP
php checkbox复选框值的获取与checkbox默认值输出方法
May 15 PHP
PHP 日志缩略名的创建函数代码
May 26 PHP
php提交表单时判断 if($_POST[submit])与 if(isset($_POST[submit])) 的区别
Feb 08 PHP
如何使用php判断所处服务器操作系统的类型
Jun 20 PHP
php页面缓存方法小结
Jan 10 PHP
PHP快速生成各种信息提示框的方法
Feb 03 PHP
Zend Framework动作助手Redirector用法实例详解
Mar 05 PHP
PHP实现的DES加密解密类定义与用法示例
Nov 02 PHP
PHP实现与java 通信的插件使用教程
Aug 11 PHP
php设计模式之原型模式分析【星际争霸游戏案例】
Mar 23 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的一个简单加密解密代码
2014/01/14 PHP
ThinkPHP查询语句与关联查询用法实例
2014/11/01 PHP
php获取英文姓名首字母的方法
2015/07/13 PHP
php命令行(cli)模式下报require 加载路径错误的解决方法
2015/11/23 PHP
thinkPHP3.1验证码的简单实现方法
2016/04/22 PHP
PHP+redis实现的悲观锁机制示例
2018/06/12 PHP
JObj预览一个JS的框架
2008/03/13 Javascript
Javascript 布尔型分析
2008/12/22 Javascript
Javascript 按位取反运算符 (~)
2014/02/04 Javascript
Jquery validation remote 验证的缓存问题解决方法
2014/03/25 Javascript
js实现prototype扩展的方法(字符串,日期,数组扩展)
2016/01/14 Javascript
jQuery实现的兼容性浮动层示例
2016/08/02 Javascript
jQuery模拟Marquee实现无缝滚动效果完整实例
2016/09/29 Javascript
js前端解决跨域问题的8种方案(最新最全)
2016/11/18 Javascript
JavaScript中运算符规则和隐式类型转换示例详解
2017/09/06 Javascript
Vue渲染函数详解
2017/09/15 Javascript
详解vue-cli与webpack结合如何处理静态资源
2017/09/19 Javascript
JS中创建自定义类型的常用模式总结【工厂模式,构造函数模式,原型模式,动态原型模式等】
2019/01/19 Javascript
使用JavaScript解析URL的方法示例
2019/03/01 Javascript
vue2 v-model/v-text 中使用过滤器的方法示例
2019/05/09 Javascript
微信小程序去除左上角返回键的实现方法
2020/03/06 Javascript
微信小程序入门之指南针
2020/10/22 Javascript
[15:35]教你分分钟做大人:天怒法师
2014/10/30 DOTA
Python用UUID库生成唯一ID的方法示例
2016/12/15 Python
浅谈python迭代器
2017/11/08 Python
Python模块文件结构代码详解
2018/02/03 Python
Python如何获取Win7,Win10系统缩放大小
2020/01/10 Python
解决python ThreadPoolExecutor 线程池中的异常捕获问题
2020/04/08 Python
使用opencv中匹配点对的坐标提取方式
2020/06/04 Python
JAVA软件工程师测试题
2014/07/25 面试题
外贸采购员求职的自我评价
2013/11/26 职场文书
情人节寄语大全
2014/04/11 职场文书
《梅花魂》教学反思
2014/04/30 职场文书
小学课外阅读总结
2014/07/09 职场文书
详解Go与PHP的语法对比
2021/05/29 PHP
使用Redis实现点赞取消点赞的详细代码
2022/03/20 Redis