关于使用coreseek并为其做分页的介绍

 更新时间:2013年06月21日 12:06:06   作者:  
本篇文章是对使用coreseek并为其做分页进行了详细的分析介绍,需要的朋友参考下
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下载远程图片函数 可伪造来路

    本篇文章是对php中的下载远程图片函数进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • PHP实现简单注册登录系统

    PHP实现简单注册登录系统

    这篇文章主要为大家详细介绍了PHP实现简单注册登录系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-12-12
  • Fatal error: session_start(): Failed to initialize storage module: files问题解决方法

    Fatal error: session_start(): Failed to initialize storage m

    这篇文章主要介绍了Fatal error: session_start(): Failed to initialize storage module: files问题解决方法,需要的朋友可以参考下
    2014-05-05
  • PHP数据源架构模式之表入口模式实例分析

    PHP数据源架构模式之表入口模式实例分析

    这篇文章主要介绍了PHP数据源架构模式之表入口模式,结合实例形式分析了PHP表入口模式的相关概念、原理、使用方法及操作注意事项,需要的朋友可以参考下
    2020-01-01
  • 简单谈谈php浮点数精确运算

    简单谈谈php浮点数精确运算

    如果用php的+-*/计算浮点数的时候,可能会遇到一些计算结果错误的问题,所以基本上大部分语言都提供了精准计算的类库或函数库,比如php有BC高精确度函数库,下面我们介绍一下一些常用的BC高精确度函数使用。
    2016-03-03
  • PHP使用laravel邮件服务发送邮件

    PHP使用laravel邮件服务发送邮件

    laravel自带SwiftMailer库,集成了多种邮件API,可以很方便的实现邮件的发送。在本教程中使用到的是SMTP(Simple Message Transfer Protocol)简单邮件传输协议,通常理解为邮件发送服务器
    2023-03-03
  • PHP中使用file_get_contents抓取网页中文乱码问题解决方法

    PHP中使用file_get_contents抓取网页中文乱码问题解决方法

    这篇文章主要介绍了PHP中使用file_get_contents抓取网页中文乱码问题解决方法,可以通过使用curl配置gzip选项来解决,具有一定的参考借鉴价值,需要的朋友可以参考下
    2014-12-12
  • PHP实现的封装验证码类详解

    PHP实现的封装验证码类详解

    本篇文章是对PHP实现的封装验证码类进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • php实现快速排序法函数代码

    php实现快速排序法函数代码

    取一个值与其他值进行比较,小的放在这个值的左边,大的放在这个值的右边,然后按照这个方式递归
    2012-08-08
  • php文件上传 你真的掌握了吗

    php文件上传 你真的掌握了吗

    你真的掌握php文件上传技术了吗?这篇文章就为大家整理了php文件上传的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-11-11

最新评论