sphinx实现分组排序后,组内排序问题
2015-06-19 16:19
746 查看
SetGroupBy (设置分组的属性)
原型: function SetGroupBy ( $attribute, $func, $groupsort="@group desc" )设置进行分组的属性、函数和组间排序模式,并启用分组(参考第 5.7 节 “结果分组(聚类)”中的描述)。
$attribute是字符串,为进行分组的属性名。
$func为常数,它指定内建函数,该函数以前面所述的分组属性的值为输入,目前的可选的值为:
SPH_GROUPBY_DAY、SPH_GROUPBY_WEEK、 SPH_GROUPBY_MONTH、 SPH_GROUPBY_YEAR、SPH_GROUPBY_ATTR 。
$groupsort是控制分组如何排序的子句。其语法与第 5.6 节 “SPH_SORT_EXTENDED mode”中描述的相似。
分组与SQL中的GROUP BY子句本质上相同。此函数调用产生的结果与下面伪代码产生的结果相同。
SELECT ... GROUP BY $func($attribute) ORDER BY $groupsort
注意,影响最终结果集中匹配项顺序的是
$groupsort。排序模式(见第 8.3.3 节 “SetSortMode (设置排序模式)”)影响每个分组内的顺序,即每组内哪些匹配项被视为最佳匹配。比如,组之间可以根据每组中的匹配项数量排序的同时每组组内又根据相关度排序。
cl.SetGroupBy ( 'food_name', SPH_GROUPBY_ATTR, 'addtime desc')
cl.SetSortMode ( SPH_SORT_EXTENDED, 'addtime desc')
先按food_name分组,然后组间用addtime排序,组内也用addtime排序,基本上就能实现分组后的记录是自己想要的
相关文章推荐
- python调用word报错,提示“服务器运行失败”,现已解决
- Python的不定长参数研究
- python判断字符串
- Codeforces Round #308 (Div. 2)
- 医疗人群数据包
- GUI_Download的Codepage参数
- PHP正则把"2010-12-20"替换成"12/20/2010"
- uva 1151 - Buy or Build poj 2784 Buy or Build(最小生成树)
- 程序员的量化交易之路(36)--Lean之数据读取SubscriptionDataReader4
- 牛腩学习----Web编程安全问题
- python datetime对象转时间戳
- lftp命令使用
- python替换html实体的方法
- python 的对象序列化/反序列化
- python替换html实体的方法
- python 的对象序列化/反序列化
- sphinx数据文件简析-转
- sphinx配置文件中,关于wordforms设定的文件修改问题
- python 获取一个字符串所有大小写的情况
- python 文件的md5