发表回复 
 
主题评价:
  • 0 次(票) - 平均星级: 0
  • 1
  • 2
  • 3
  • 4
  • 5
按时间排序并同时兼顾相关性(relevance)
2015年08月26日, 11:43
按时间排序并同时兼顾相关性(relevance)
问题是,保证相关性的前提下,搜索到最新的东西,换句话说就是按时间排序并同时兼顾相关性(relevance),
如果单纯的使用setMultiSort、setSort 设置正序或倒序的话,会忽略相关性。但setMultiSort、setSort 中的相关性参数设置成true的话,又会忽略最新时间。

解决思路:
将时间戳模糊化,并加入搜索排序,增加时间计算权重。

解决办法:

增加新的索引字段,如‘date’字段, 记录时间戳转换成的字符串,如 1440555929 时间戳转换成 “2015年,08月,26日,35周” (PHP转换函数 : date('Y年,m月,d日,W周',1440555929); )

接着,该搜索数据了。

我们要搜最新的iphone信息的话,搜索词是这样的,“iphone 2015年 08月 26日 35周” ,也就是在搜索语句中加入你想搜索的时间属性字符,最新的当然就是当下的时间了。

如果对数据要求不是很准确的话,建议打开模糊搜索,setFuzzy(),搜索语句解析后是这样的
“iphone or 2015年 or 08月 or 26日 or 35周”,
不然精确搜索的话会解析成这样子,就很难搜到东西了
“iphone and 2015年 and 08月 and 26日 and 35周”


感谢 qq群 xunsearch/xungle交流 14413875 中 hightman/海鳗 提供的解决思路
查找这个用户的全部帖子
引用并回复
发表回复 


论坛跳转:


正在浏览该主题的用户: 1 个游客