• Sphinx排序模式


    目前SPHINX支持6种排序模式。分别是:


    1. SPH_SORT_RELEVANCE
    2. SPH_SORT_ATTR_DESC
    3. SPH_SORT_ATTR_ASC
    4. SPH_SORT_TIME_SEGMENTS
    5. SPH_SORT_EXTENDED
    6. SPH_SORT_EXPR

    第一种表示按照相关度排序,以降序排序(最佳匹配记录排到最前面)。

    第二种表示按照文档属性排序,以降序排序(属性值大的排在前面)。

    第三种表示按照文档属性排序,以升序排序(属性值小的记录排在前面)。

    第四种表示按照时间段排序(比如最近1小时/1天/1周/1个月),以降序排列,然后是相关度排序,以降序排列。

    第五种表示按照扩展语句排序,由文档字段组成的类似SQL语句的排序,可以设置升序或降序。

    第六种表示表达式模式,由算术表达式来决定顺序。


    例子1:

    1. 以权重升序的方式排序

    $sph = new SphinxClient();
    $sph->SetSortMode(SPH_SORT_EXTENDED, "@weight ASC");

    它会以weight的数值按照从小到大的顺序排列搜索出来的记录,在查询的那一瞬间就生产出这个列表。

    代码:

    // 其他内容...
    [matches] => Array
            (
                [0] => Array
                    (
                        [id] => 100004
                        [weight] => 1678
                        [attrs] => Array
                            (
                                [cid] => 100004
                                [title] => 香港
                                [name] => xianggang
                                [title_en] => Hongkong
                                [showname] => 
                                [time] => 1517389143
                            )
    
                    )
    
                [1] => Array
                    (
                        [id] => 100614
                        [weight] => 2745
                        [attrs] => Array
                            (
                                [cid] => 100614
                                [title] => 香港迪士尼乐园
                                [name] => xianggangdishinileyuan
                                [title_en] => Hong Kong Disneyland
                                [showname] => 香港迪士尼乐园
                                [time] => 1517389143
                            )
    
                    )
    
                [2] => Array
                    (
                        [id] => 100616
                        [weight] => 2745
                        [attrs] => Array
                            (
                                [cid] => 100616
                                [title] => 香港海洋公园
                                [name] => xiangganghaiyanggongyuan
                                [title_en] => Hongkong Ocean Park
                                [showname] => 香港海洋公园
                                [time] => 1517389143
                            )
    
                    )
    
            )
    // 其他代码...


    2. 以权重降序的方式排序

    $sph = new SphinxClient();
    $sph->SetSortMode(SPH_SORT_EXTENDED, "@weight DESC");

  • 相关阅读:
    Navicat for MySQL下载、安装与破解
    javaweb之Cookie学习
    static特别用法【静态导包】——Java包的静态导入
    面试感悟----一名3年工作经验的程序员应该具备的技能
    致孩子
    java中的代码块是什么意思,怎么用
    ModelAttribute用法之一
    SpringMVC获取页面数据乱码的解决get/post
    总结过去10年的程序员生涯 (经验)---大神的建议
    hdu 5237 二进制
  • 原文地址:https://www.cnblogs.com/ranwuer/p/8393697.html
Copyright © 2020-2023  润新知