• 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");

  • 相关阅读:
    判断开始时间不能小于结束时间
    angular1.0使用echarts点刷新再次调用echarts方法
    解决angular4.0打包后不能再继续打包
    html拼接+layer按钮
    angular.js+echarts
    nginx配置
    NET_Framework_4.0installer.rar
    IIS6.0开启gzip压缩
    IIS的应用程序池优化方法
    远程桌面连接电脑后键盘失灵解决
  • 原文地址:https://www.cnblogs.com/ranwuer/p/8393697.html
Copyright © 2020-2023  润新知