zoukankan      html  css  js  c++  java
  • 修改sphinx最大输出记录数

    修改sphinx最大输出记录数
    复制代码
    归纳如下:
    Sphinx的查询默认最大记录数是:1000,而我们想更改这个数值。就需要更改三个地方。
    1是更改sphinx.conf配置文件的:max_matches   = 10000 #后面数字就是你想查询的最大记录数。建议在1000~10000之内。
    2是在api调用时,$cl->SetLimits($pageStart, $pageSize, $max_limits);用SetLimits的第三个参数更改为你想要的显示最大记录数。
    3 修改sphinxclient.php 中max_matches
     
    问题是这样的,信息列表页的分页里显示有100多页,但到51页的时候不显示正确的信息列表了。按惯例,输出结果,查看可疑之处。发现返回的结果里total永远都是1000,total_found大概是分页中显示的页数和每页信息数的乘积,这说明total_found返回的是真正的信息数,但查询结果的时候又受到了total的限制。
    百度sphinx total_found,得知sphinx有个max_matches是限制匹配结果数的,看了sphinx.conf,发现其中设置的max_matches远大于查询结果数,看来代码中有设置了,又查看sphinx的应用类,发现了SetLimits($start, $limit, 1000)这个东东,原来max_matches在这儿被定成了1000。
    据说max_matches设定太大的话,查询速度会受影响,想了想把这个值设成变量,等于要查询的页数和每页信息数的乘积,这样就能得到正确的结果了,而且不会影响小页码的页面原查询速度。
    http://www.ourjour.com/tag/sphinx-max_matches/
  • 相关阅读:
    GUI的最终选择Tkinter模块初级篇
    JavaScript的进阶篇
    html标签详解
    docker使用自定义镜像zabbix服务
    Django之url定义和ORM框架的使用
    zabbix实现企业微信监控报警
    centos6 搭建nginx实现负载均衡
    mysql数据库进阶篇
    Linux运维之Ansible自动化运维管理工具
    php菜刀分析学习
  • 原文地址:https://www.cnblogs.com/luowei/p/4113438.html
Copyright © 2011-2022 走看看