在我的索引中我有2个文本字段:title&内容和一个属性date_publish。
我希望通过
订购标题相关性,出版年龄,内容相关性
使用Sphinx 2.0.2和 SphinxSE
怎么办? 搜索模式 - > expr? rank_mode - > expr?
我迷路了..
实际上我的想法是
bm25(@title)* 1000 +(1000 /(now() - date_publish)/ 86400)+ bm25(@content)/ 10
(注意,所有这些仍然处于不确定状态,我会用你的评论和我的经验结果来改进我的问题;-)
答案 0 :(得分:0)
我不认为你可以在每个领域得到'相关'因素,所以不能明确地这样排序。
但是可以使用字段权重来改变“每个字段”的权重,因此标题可能比内容具有更大的效果。
然后,您可以使用排名表达式来计算文档的“年龄”,类似于您的示例。
或者可以按相关性明确排序,然后按日期排序 - 使用扩展排序模式。
另一种通过崇敬来排序,但仍将最近的内容推广到顶部的方法是使用“时间段”排序。见SPH_SORT_TIME_SEGMENTS