关于使用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 的几个配置文件函数
Dec 21 PHP
php获取mysql版本的几种方法小结
Mar 25 PHP
Ajax PHP简单入门教程代码
Apr 25 PHP
约瑟夫环问题的PHP实现 使用PHP数组内部指针操作函数
Oct 12 PHP
php的memcache类分享(memcache队列)
Mar 26 PHP
php实现根据字符串生成对应数组的方法
Sep 22 PHP
php绘图之加载外部图片的方法
Jan 24 PHP
php实现将任意进制数转换成10进制的方法
Apr 17 PHP
PHP中常见的缓存技术实例分析
Sep 23 PHP
老生常谈php中传统验证与thinkphp框架(必看篇)
Jun 10 PHP
PHP如何实现订单的延时处理详解
Dec 30 PHP
PHP使用两个栈实现队列功能的方法
Jan 15 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连接SQLServer2005的实现方法(附ntwdblib.dll下载)
2012/07/02 PHP
PHP字符串的递增和递减示例介绍
2014/02/11 PHP
thinkPHP5.0框架开发规范简介
2017/03/25 PHP
PHP的mysqli_stat()函数讲解
2019/01/23 PHP
IE 条件注释详解总结(附实例代码)
2009/08/29 Javascript
JS特殊函数(Function()构造函数、函数直接量)区别介绍
2013/05/19 Javascript
浅谈javascript对象模型和function对象
2014/12/26 Javascript
jQuery获取样式中颜色值的方法
2015/01/29 Javascript
js调用webservice构造SOAP进行身份验证
2016/04/27 Javascript
AngularJS学习笔记之依赖注入详解
2016/05/16 Javascript
AngularJS入门教程之AngularJS 模板
2016/08/18 Javascript
JS获取鼠标位置距浏览器窗口距离的方法示例
2017/04/11 Javascript
Node.js引入UIBootstrap的方法示例
2018/05/11 Javascript
解决vue中使用Axios调用接口时出现的ie数据处理问题
2018/08/13 Javascript
微信小程序中上传图片并进行压缩的实现代码
2018/08/28 Javascript
如何在wxml中直接写js代码(wxs)
2019/11/14 Javascript
openlayers实现图标拖动获取坐标
2020/09/25 Javascript
JS时间戳与日期格式互相转换的简单方法示例
2021/01/30 Javascript
Python闭包的两个注意事项(推荐)
2017/03/20 Python
python递归查询菜单并转换成json实例
2017/03/27 Python
Python实现字典去除重复的方法示例
2017/07/31 Python
python: 自动安装缺失库文件的方法
2018/10/22 Python
python 获取sqlite3数据库的表名和表字段名的实例
2019/07/17 Python
基于python监控程序是否关闭
2020/01/14 Python
纯CSS3打造动感漂亮时尚的扇形菜单
2014/03/18 HTML / CSS
学生会副主席竞聘书
2014/03/31 职场文书
毕业生自荐材料范文
2014/12/30 职场文书
酒店收银员岗位职责
2015/04/07 职场文书
网络妈妈观后感
2015/06/08 职场文书
五一晚会主持词
2015/07/01 职场文书
幼儿园庆元旦主持词
2015/07/06 职场文书
趣味运动会赞词
2015/07/22 职场文书
学校教师培训工作总结
2015/10/14 职场文书
python执行js代码的方法
2021/05/13 Python
SQL Server数据库基本概念、组成、常用对象与约束
2022/03/20 SQL Server
深入理解MySQL中MVCC与BufferPool缓存机制
2022/05/25 MySQL