可使用如下模式对搜索结果排序

  排序模式

  可使用如下模式对搜索结果排序:

  SPH_SORT_RELEVANCE 模式, 按相关度降序排列(最好的匹配排在最前面)

  SPH_SORT_ATTR_DESC 模式, 按属性降序排列 (属性值越大的越是排在前面)

  SPH_SORT_ATTR_ASC 模式, 按属性升序排列(属性值越小的越是排在前面)

  SPH_SORT_TIME_SEGMENTS 模式, 先按时间段(最近一小时/天/周/月)降序,再按相关度降序

  SPH_SORT_EXTENDED 模式, 按一种类似SQL的方式将列组合起来,升序或降序排列。

  SPH_SORT_EXPR 模式,按某个算术表达式排序

  view sourceprint?01.//使用属性排序

  02.

  03.//以fromid倒序排序,注意当再次使用SetSortMode会覆盖上一个排序

  04.

  05.$sphinx->SetSortMode ( "SPH_SORT_ATTR_DESC", 'fromid');

  06.

  07.//如果要使用多个字段排序可使用SPH_SORT_EXTENDED模式

  08.

  09.//@id是sphinx内置关键字,这里指emailid,至于为什么是emailid,自己思考一下

  10.

  11.$sphinx->SetSortMode ( "SPH_SORT_ATTR_DESC", 'fromid ASC, toid DESC, @id DESC');

  12.labjz.howbk.com

  13.//执行搜索

  14.

  15.$result = $sphinx->query('关键字', '*');

  //更多请查看官方文档排序模式的说明

  匹配模式

  有如下可选的匹配模式:

  SPH_MATCH_ALL, 匹配所有查询词(默认模式);

  SPH_MATCH_ANY, 匹配查询词中的任意一个;

  SPH_MATCH_PHRASE, 将整个查询看作一个词组,要求按顺序完整匹配;

  SPH_MATCH_BOOLEAN, 将查询看作一个布尔表达式

  SPH_MATCH_EXTENDED, 将查询看作一个CoreSeek/Sphinx内部查询语言的表达式 . 从版本Coreseek 3/Sphinx 0.9.9开始, 这个选项被选项SPH_MATCH_EXTENDED2代替,它提供了更多功能和更佳的性能。保留这个选项是为了与遗留的旧代码兼容——这样即使Sphinx及其组件包括API升级的时候,旧的应用程序代码还能够继续工作。

  SPH_MATCH_EXTENDED2, 使用第二版的“扩展匹配模式”对查询进行匹配.

  SPH_MATCH_FULLSCAN, 强制使用下文所述的“完整扫描”模式来对查询进行匹配。注意,在此模式下,所有的查询词都被忽略,尽管过滤器、过滤器范围以及分组仍然起作用,但任何文本匹配都不会发生.

  我们要关注的主要是SPH_MATCH_EXTENDED2扩展匹配模式,扩展匹配模式允许使用一些像mysql的条件语句

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值