关于使用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语法(5)
Oct 09 PHP
PHP 网络开发详解之远程文件包含漏洞
Apr 25 PHP
php变量作用域的深入解析
Jun 03 PHP
关于php 接口问题(php接口主要也就是运用curl,curl函数)
Jul 01 PHP
PHP编程开发怎么提高编程效率 提高PHP编程技术
Nov 09 PHP
PHP程序中的文件锁、互斥锁、读写锁使用技巧解析
Mar 21 PHP
PHP url的pathinfo模式加载不同控制器的简单实现
Aug 12 PHP
PHP实现的网站目录扫描索引工具
Sep 08 PHP
Yii框架中jquery表单验证插件用法示例
Oct 18 PHP
php+webSoket实现聊天室示例代码(附源码)
Feb 17 PHP
PHP中时间加减函数strtotime用法分析
Apr 26 PHP
php压缩文件夹最新版
Jul 18 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扩展开发经验分享
2012/09/06 PHP
PHP之autoload运行机制实例分析
2014/08/28 PHP
PHP比你想象的好得多
2014/11/27 PHP
WordPress中限制非管理员用户在文章后只能评论一次
2015/12/31 PHP
PHP 等比例缩放图片详解及实例代码
2016/09/18 PHP
浅谈Laravel核心解读之Console内核
2018/12/02 PHP
JavaScript 继承详解(二)
2009/07/13 Javascript
JavaScript编程开发中的五个实用小技巧
2010/07/22 Javascript
javaScript同意等待代码实现心得
2011/01/01 Javascript
javaScript中的this示例学习详解及工作原理
2014/01/13 Javascript
跟我学Nodejs(一)--- Node.js简介及安装开发环境
2014/05/20 NodeJs
对于jQuery性能的一些优化建议
2015/08/13 Javascript
JS简单实现多级Select联动菜单效果代码
2015/09/06 Javascript
javascript从作用域链谈闭包
2020/07/29 Javascript
浅析Bootstrap验证控件的使用
2016/06/23 Javascript
详解AngularJS ng-class样式切换
2017/06/27 Javascript
使用Vue.js和Element-UI做一个简单登录页面的实例
2018/02/23 Javascript
Angular通过指令动态添加组件问题
2018/07/09 Javascript
bootstrap中的导航条实例代码详解
2019/05/20 Javascript
Vue父子传递实例讲解
2020/02/14 Javascript
[00:32]2018DOTA2亚洲邀请赛出场——LGD
2018/04/04 DOTA
构建Python包的五个简单准则简介
2015/06/15 Python
Python实现将Excel转换为json的方法示例
2017/08/05 Python
Python爬虫——爬取豆瓣电影Top250代码实例
2019/04/17 Python
Django ORM 常用字段与不常用字段汇总
2019/08/09 Python
如何在python中写hive脚本
2019/11/08 Python
python检查目录文件权限并修改目录文件权限的操作
2020/03/11 Python
GWebs公司笔试题
2012/05/04 面试题
一道输出判断型Java面试题
2014/10/01 面试题
业务助理岗位职责
2013/11/18 职场文书
大学自荐信
2013/12/12 职场文书
建筑文秘专业个人求职信范文
2013/12/28 职场文书
领导接待方案
2014/03/13 职场文书
深入探讨opencv图像矫正算法实战
2021/05/21 Python
P站美图推荐——变身女主角特辑
2022/03/20 日漫
分析MySQL优化 index merge 后引起的死锁
2022/04/19 MySQL