目前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");

最新文章

  1. 内存提取SWF,破解doswf方法概述
  2. Linux_导出函数
  3. QQ空间直播秒开优化实践[读]
  4. sizeof(class)
  5. Menu bar missing from ClearCase Explorer
  6. 两个关于XML解析报错问题小记
  7. asp.net 将ppt,word转化为pdf实现在线浏览详解
  8. [转载] Kafka+Storm+HDFS整合实践
  9. zookeeper高可用集群搭建
  10. Android Studio提示 Connection reset
  11. onload、onpageshow、onpagehide、onbeforeunload、onunload的谣言纠正及特点介绍
  12. sicp 习题
  13. ROS开发与常用命令
  14. UGUI实现摇杆
  15. PHP中工厂模式与策略模式区别
  16. Bugku——Flag在index里(http://120.24.86.145:8005/post/)
  17. Android Studio开发实用网站收集
  18. bzoj千题计划278:bzoj4590: [Shoi2015]自动刷题机
  19. linux系统部署Java程序获取ip时报Caused by: java.net.UnknownHostException: XXXXXXXXXX: XXXXXXXXXX: Name or service not known
  20. 使用nginx服务器如果遇到timeou情况时可以如下设置参数,使用fastcgi: fastcgi_connect_timeout 75; 链接 fastcgi_read_timeout 600; 读取 fastcgi_send_timeout 600; 发请求

热门文章

  1. Android Layout XML属性研究--android:layout_marginBottom (转载)
  2. vs code 代码格式化
  3. Android EditText实现小数点后几位的终级方案
  4. 黑客攻防技术宝典web实战篇:查找源代码中的漏洞习题
  5. The 17th Zhejiang University Programming Contest Sponsored by TuSimple J
  6. 水题 Codeforces Round #299 (Div. 2) A. Tavas and Nafas
  7. 初探Hibernate3源码--读取配置文件
  8. jsp问题记录
  9. Hadoop调度框架
  10. AJPFX循环结构整理资料