关于使用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中取得image按钮传递的name值
Oct 09 PHP
用PHP制作静态网站的模板框架(一)
Oct 09 PHP
Php注入点构造代码
Jun 14 PHP
超级简单的php+mysql留言本源码
Nov 11 PHP
PHP中Session引起的脚本阻塞问题解决办法
Apr 08 PHP
支持生僻字且自动识别utf-8编码的php汉字转拼音类
Jun 27 PHP
php与flash as3 socket通信传送文件实现代码
Aug 16 PHP
PHP命令行执行整合pathinfo模拟定时任务实例
Aug 12 PHP
php 微信公众平台开发模式实现多客服的实例代码
Nov 07 PHP
PHP实现将多个文件压缩成zip格式并下载到本地的方法示例
May 23 PHP
laravel框架邮箱认证实现方法详解
Nov 22 PHP
TP5(thinkPHP5)框架使用ajax实现与后台数据交互的方法小结
Feb 10 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添加Xdebug扩展的方法
2014/02/12 PHP
php下foreach提示Warning:Invalid argument supplied for foreach()的解决方法
2014/11/11 PHP
PHP人民币金额转大写实例代码
2015/10/02 PHP
thinkPHP+PHPExcel实现读取文件日期的方法(含时分秒)
2016/07/07 PHP
php使用curl实现简单模拟提交表单功能
2017/05/15 PHP
PHP实现一个轻量级容器的方法
2019/01/28 PHP
Laravel5.4简单实现app接口Api Token认证方法
2019/08/29 PHP
Javascript实例教程(19) 使用HoTMetal(7)
2006/12/23 Javascript
YUI 读码日记之 YAHOO.util.Dom - Part.1
2008/03/22 Javascript
用jquery模仿的a的title属性(兼容ie6/7)
2013/01/21 Javascript
Javascript级联下拉菜单以及AJAX数据验证核心代码
2013/05/10 Javascript
jquery.validate的使用说明介绍
2013/11/12 Javascript
将查询条件的input、select清空
2014/01/14 Javascript
jQuery制作简洁的图片轮播效果
2015/04/03 Javascript
Bootstrap被封装的弹层
2016/07/20 Javascript
常用原生js自定义函数总结
2016/11/20 Javascript
JS弹性运动实现方法分析
2016/12/15 Javascript
angularjs使用div模拟textarea文本框的方法
2018/10/02 Javascript
jquery获取file表单选择文件的路径、名字、大小、类型
2019/01/18 jQuery
解决vue打包报错Unexpected token: punc的问题
2020/10/24 Javascript
爬山算法简介和Python实现实例
2014/04/26 Python
python读取excel表格生成erlang数据
2017/08/26 Python
Python 查看文件的编码格式方法
2017/12/21 Python
对python3 一组数值的归一化处理方法详解
2018/07/11 Python
python读取文件名并改名字的实例
2019/01/07 Python
Python 脚本实现淘宝准点秒杀功能
2019/11/13 Python
python 成功引入包但无法正常调用的解决
2020/03/09 Python
外贸销售员求职的自我评价
2013/11/23 职场文书
医学检验专业个人求职信范文
2013/12/04 职场文书
保护环境的建议书
2014/03/12 职场文书
争先创优演讲稿
2014/09/15 职场文书
因身体原因离职的辞职信范文
2015/05/12 职场文书
任命书格式模板
2015/09/22 职场文书
2016学习依法治国心得体会
2016/01/15 职场文书
Python 实现绘制子图及子图刻度的变换等问题
2021/05/31 Python
在Spring-Boot中如何使用@Value注解注入集合类
2021/08/02 Java/Android