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

Sphinx排序模式的更多相关文章

  1. Sphinx 排序模式 SetSortMode

    可使用如下模式对搜索结果排序: SPH_SORT_RELEVANCE 模式, 按相关度降序排列(最好的匹配排在最前面) SPH_SORT_ATTR_DESC 模式, 按属性降序排列 (属性值越大的越是 ...

  2. Sphinx 匹配模式

    所谓匹配模式就是用户如何根据关键字在索引库中查找相关的记录. SPH_MATCH_ALL, 匹配所有查询分词(默认模式); 如“手机配件”,不匹配 “我有一部手机”,但可以匹配 “手机坏了,需要找配件 ...

  3. php 几种排序模式

    冒泡排序 冒泡排序(Bubble Sort,台湾译为:泡沫排序或气泡排序)是一种简单的排序算法.它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工>作 ...

  4. 【整理】Linux下中文检索引擎coreseek4安装,以及PHP使用sphinx的三种方式(sphinxapi,sphinx的php扩展,SphinxSe作为mysql存储引擎)

          一,软件准备 coreseek4.1 (包含coreseek测试版和mmseg最新版本,以及测试数据包[内置中文分词与搜索.单字切分.mysql数据源.python数据源.RT实时索引等测 ...

  5. sphinx应用

     sphinx调用原理 只需要提交要查询,sphinx将返回唯一的id号  API调用 1.创建连接 $sphinx = new SphinxClient(); $sphinx->SetServ ...

  6. sphinx教程

    http://www.php100.com/html/it/focus/2013/0916/6188.html### 以上一篇的email数据表为例: 数据结构: 01.CREATE TABLE em ...

  7. Sphinx扩展安装安装

    Coreseek官方教程中建议php使用直接include一个php文件进行操作,事实上php有独立的sphinx模块可以直接操作coreseek(coreseek就是sphinx!)已经进入了php ...

  8. 【PHP高效搜索专题(2)】sphinx&coreseek在PHP程序中的应用实例

    PHP可以通过三种途径来调用sphinx 通过Sphinx官方提供的API接口(接口有Python,Java,Php三种版本) 通过安装SphinxSE,然后创建一个中介sphinxSE类型的表,再通 ...

  9. sphinx全文检索之PHP使用(转)

    基础 数据结构: CREATE TABLE email ( emailid mediumint(8) unsigned NOT NULL auto_increment COMMENT '邮件id', ...

随机推荐

  1. git操作实战指南

    1 背景 小白进入公司,进入日常多人开发,git的使用应该是新人要掌握的第一个技能.git是一个分布式数据存储库,分为远程存储和本地存储,本地存储的话,每一台计算机就相当于一个存储数据库,可以记录和存 ...

  2. iOS View

    创建: 2018/04/19 完成: 2018/04/20 View的创建  创建  storyboard上操作  与代码连接 ● 目的: 通过代码控制view ● 按住option拖动 View的坐 ...

  3. 51nod 1225:余数之和

    传送门 题意 略 分析 \(\sum_i^n(n\%i)=\sum_i^n(n-i*n/i)=n^2-\sum_i^ni*n/i\) \(=\sum r\sum_i^ni[n/i==r]\) 可以证明 ...

  4. hdoj5842【水题】

    比赛的时候还特别撒比地写了二分的那个写法,然后wa了一发,因为这个集合的翻译成自然数集.还是转换了一下,还是去写了一个二分. 后面就是出现几种就是多长... 比赛的真的非常非常挫的code-. #in ...

  5. hdoj1028;他们说这题叫dp...

    #include<cstdio> #include<string> #include<iostream> #include<vector> #inclu ...

  6. (7)awk命令(每周一个linux命令系列)

    简介 awk是一个强大的文本分析工具,尤其是在应对格式化比较好的日志文件时,简单来说awk就是把文件逐行的读入,以空格为默认分隔符(也可以指定分隔符)将每行切片处理. 语法 awk [选项参数] 's ...

  7. UltraEdit配置C++开发环境

    1.下载UltraEdit软件安装 2.下载MinGW库安装 3.在系统设置环境变量,在path里加上你的MinGW\bin目录即可. 4.进入UltraEdit软件进行如下配置: 菜单栏---高级- ...

  8. AtCoder Grand Contest 005 C - Tree Restoring

    题目传送门:https://agc005.contest.atcoder.jp/tasks/agc005_c 题目大意: 给定一个长度为\(N\)的整数序列\(A_i\),问能否构造一个\(N\)个节 ...

  9. python正则表达式提取中文

    import urllib.requestimport reurl='https://songsearch.kugou.com/song_search_v2?callback=jQuery112407 ...

  10. 使用 Realm 和 Swift 创建 ToDo 应用

    原文出处: HOSSAM GHAREEB   译文出处:Prayer’s blog(@EclipsePrayer) 智能手机的快速发展的同时,涌现出了很多对开发者友好的开发工具,这些工具不仅使得开发变 ...