V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
wyx
V2EX  ›  编程

基于sphinx的站内搜索如何做分页。

  •  
  •   wyx · Dec 4, 2012 · 7904 views
    This topic created in 4905 days ago, the information mentioned may be changed or developed.
    我的想法是:取得搜索出来结果总的条数,然后除以每页面显示的条数,然后可以得到一共的页面数。
    但是他们提供的api貌似没有取得总条数的这么个函数。
    2 replies    1970-01-01 08:00:00 +08:00
    phzzy
        1
    phzzy  
       Dec 5, 2012
    $page = isset($_GET['p']) ? intval($_GET['p']) : 1;
    if($page <= 0) $page = 1;
    $pagesize = 20;
    $s = new SphinxClient ();
    $s->SetServer('localhost' , 9312);
    $s->SetLimits(($page - 1) * $pagesize , $pagesize , 3000);
    $s->SetMaxQueryTime(3000);
    $s->SetSortMode(SPH_SORT_ATTR_DESC , 'id_attr');
    $result = $s->Query($keyword , 'lixiansou');
    if(empty($result) || $result['total_found'] == 0) {
    $count = 0;
    $ids = array();
    } else {
    $count = $result['total_found'];
    $ids = array_keys($result['matches']);
    }


    php 对应的一段 sphinx api 代码
    返回结果中有 total_found 用来分页
    wyx
        2
    wyx  
    OP
       Dec 7, 2012
    谢谢~我之前没注意到total_found
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2904 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 15:30 · PVG 23:30 · LAX 08:30 · JFK 11:30
    ♥ Do have faith in what you're doing.