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");
Sphinx排序模式的更多相关文章
- Sphinx 排序模式 SetSortMode
可使用如下模式对搜索结果排序: SPH_SORT_RELEVANCE 模式, 按相关度降序排列(最好的匹配排在最前面) SPH_SORT_ATTR_DESC 模式, 按属性降序排列 (属性值越大的越是 ...
- Sphinx 匹配模式
所谓匹配模式就是用户如何根据关键字在索引库中查找相关的记录. SPH_MATCH_ALL, 匹配所有查询分词(默认模式); 如“手机配件”,不匹配 “我有一部手机”,但可以匹配 “手机坏了,需要找配件 ...
- php 几种排序模式
冒泡排序 冒泡排序(Bubble Sort,台湾译为:泡沫排序或气泡排序)是一种简单的排序算法.它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工>作 ...
- 【整理】Linux下中文检索引擎coreseek4安装,以及PHP使用sphinx的三种方式(sphinxapi,sphinx的php扩展,SphinxSe作为mysql存储引擎)
一,软件准备 coreseek4.1 (包含coreseek测试版和mmseg最新版本,以及测试数据包[内置中文分词与搜索.单字切分.mysql数据源.python数据源.RT实时索引等测 ...
- sphinx应用
sphinx调用原理 只需要提交要查询,sphinx将返回唯一的id号 API调用 1.创建连接 $sphinx = new SphinxClient(); $sphinx->SetServ ...
- sphinx教程
http://www.php100.com/html/it/focus/2013/0916/6188.html### 以上一篇的email数据表为例: 数据结构: 01.CREATE TABLE em ...
- Sphinx扩展安装安装
Coreseek官方教程中建议php使用直接include一个php文件进行操作,事实上php有独立的sphinx模块可以直接操作coreseek(coreseek就是sphinx!)已经进入了php ...
- 【PHP高效搜索专题(2)】sphinx&coreseek在PHP程序中的应用实例
PHP可以通过三种途径来调用sphinx 通过Sphinx官方提供的API接口(接口有Python,Java,Php三种版本) 通过安装SphinxSE,然后创建一个中介sphinxSE类型的表,再通 ...
- sphinx全文检索之PHP使用(转)
基础 数据结构: CREATE TABLE email ( emailid mediumint(8) unsigned NOT NULL auto_increment COMMENT '邮件id', ...
随机推荐
- hadoop中的序列化
此文已由作者肖凡授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 最近在学习hadoop,发现hadoop的序列化过程和jdk的序列化有很大的区别,下面就来说说这两者的区别都有 ...
- 用script标签加载
此文已由作者杨帆授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 注:经过更深入的测试,实在不好意思,这篇文章是有问题的 更改script的type属性 并不能通过src来加载 ...
- React 从入门到进阶之路(八)
之前的文章我们介绍了 React中的组件.父子组件.React props父组件给子组件传值.子组件给父组件传值.父组件中通过refs获取子组件属性和方法.接下来我们将介绍 React propTyp ...
- bzoj 4407: 于神之怒加强版【莫比乌斯反演+线性筛】
看着就像反演,所以先推式子(默认n<m): \[ \sum_{d=1}^{n}d^k\sum_{i=1}^n\sum_{j=1}^m[gcd(i,j)==d] \] \[ =\sum_{d=1} ...
- bzoj 3053: The Closest M Points【KD-tree】
多维KDtree板子 左右儿子的估价用mn~mx当区间,假设区间里的数都存在:k维轮着做割点 #include<iostream> #include<cstdio> #incl ...
- bzoj4145 [AMPPZ2014]The Prices(状压dp)
Description 你要购买m种物品各一件,一共有n家商店,你到第i家商店的路费为d[i],在第i家商店购买第j种物品的费用为c[i][j], 求最小总费用. Input 第一行包含两个正整数n, ...
- 黑客攻防技术宝典web实战篇:利用信息泄露习题
猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 随书答案. 1. 当探查 SQL 注入漏洞时,如果请求以下 URL:https://wahh-app.com ...
- 黑客攻防技术宝典web实战篇:测试后端组件习题
猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 随书答案. 1. 某网络设备提供用于执行设备配置的 Web 界面.为什么这种功能通常易于受到操作系统命令注入 ...
- spring 通配符
原文地址:http://www.bubuko.com/infodetail-848675.html classpath是指 WEB-INF文件夹下的classes目录(惯例大于配置) classpat ...
- Codeforces Round #504 (rated, Div. 1 + Div. 2, based on VK Cup 2018 Final)
考场上只做出了ABDE C都挂了... 题解: A 题解: 模拟 判断前面一段是否相同,后面一段是否相同,长度是否够(不能有重叠) Code: #include<stdio.h> #inc ...