站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
建站程序
开发
服务器
办公软件
开发教程
服务器教程
软件使用教程
运营教程
热门电子书
WordPress教程
宝塔面板教程
CSS教程
Shopify教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
Sphinx/结果分组
”
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
{{Sphinx导航}} 有时将搜索结果分组(或者说“聚类”)并对每组中的结果计数是很有用的-例如画个漂亮的图来展示每个月有多少的[[blog]]日志,或者把[[Web]]搜索结果按站点分组,或者把找到的论坛帖子按其作者分组。 理论上,这可以分两步实现:首先在Sphinx中做全文检索,再在[[SQL]][[服务器]]端对得到的ID分组。但是现实中在大结果集(10K到10M个匹配)上这样做通常会严重影响性能。 为避免上述问题,Sphinx提供了一种“分组模式”,可以用API调用SetGroupBy()来开启。在分组时,根据group-by值给匹配项赋以一个分组。这个值用下列内建函数之一根据特定的属性值计算: *SPH_GROUPBY_DAY, 从时间戳中按YYYYMMDD格式抽取年、月、日; *SPH_GROUPBY_WEEK, 从时间戳中按YYYYNNN格式抽取年份和指定周数(自年初计起)的第一天; *SPH_GROUPBY_MONTH, 从时间戳中按YYYYMM格式抽取月份; *SPH_GROUPBY_YEAR, 从时间戳中按YYYY格式抽取年份; *SPH_GROUPBY_ATTR, 使用属性值自身进行分组. 最终的搜索结果中每组包含一个最佳匹配。分组函数值和每组的匹配数目分别以“虚拟”属性 @group 和 @count 的形式返回. 结果集按group-by排序子句排序,语法与SPH_SORT_EXTENDED 排序子句的语法相似。除了@id和@weight,分组排序子句还包括: #@group (groupby函数值), #@count (组中的匹配数目). 默认模式是根据groupby函数值降序排列,即按照 "@group desc". 排序完成时,结果参数total_found会包含在整个[[索引]]上匹配的组的总数目。 '''注意''': 分组操作在固定的内存中执行,因此它给出的是近似结果;所以total_found报告的数目可能比实际给出的个分组数目的和多。@count也可能被低估。要降低不准确性,应提高max_matches。如果max_matches允许存储找到的全部分组,那结果就是百分之百准确的。 例如,如果按相关度排序,同时用SPH_GROUPBY_DAY函数按属性"published"分组,那么: *结果中包含每天的匹配结果中最相关的那一个,如果那天有记录匹配的话, *结果中还附加给出天的编号和每天的匹配数目, *结果以天的编号降序排列(即最近的日子在前面)。 ==参考来源== *http://www.coreseek.cn/docs/coreseek_3.2-sphinx_0.9.9.html#required-tools [[category:Sphinx|J]] {{Sphinx使用手册}}
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)
本页使用的模板:
模板:Sphinx使用手册
(
编辑
)
模板:Sphinx导航
(
编辑
)