coreseek 搜索排序问题

搜索多个关键词按照匹配权重排序没问题,
假如搜索单个词并且这个词在大部分的检索数据中都存在,
我想让排序按照时间倒序排,
该怎样修改呢?

阅读 4.5k
2 个回答

1.在Coreseek的链接Mysql的Conf文件中,SQL_Query查询语句中应有时间字段(不能是主键哦)。
2.使用SetSortMode方法。如$Sphinx->SetSortMode(SPH_SORT_EXTENDED,'时间字段 Desc')
3.附赠Sphinx一篇文档 http://blog.csdn.net/u0112472...

新手上路,请多包涵

最近也遇到这个问题,楼上答案不够详细, 这里补充下
假设让 video 表中的搜索结果按 datetime 倒序排序

  1. csft.conf 文件中配置如下:

source video
{
...

sql_query = SELECT id,title,datetime  FROM video
# 这一行默认是注释掉的,去掉注释,value 改为表中的字段 datetime
sql_attr_timestamp      = datetime

2.重新生成索引
3.使用SetSortMode方法。如$Sphinx->SetSortMode(SPH_SORT_EXTENDED,'datetime Desc')

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题