Sphynx:混合相关性和年龄进行排序

时间:2013-08-23 12:19:26

标签: sphinx relevance

在我的索引中我有2个文本字段:title&内容和一个属性date_publish。

我希望通过

订购

标题相关性,出版年龄,内容相关性

使用Sphinx 2.0.2和 SphinxSE

怎么办? 搜索模式 - > expr? rank_mode - > expr?

我迷路了..

实际上我的想法是

bm25(@title)* 1000 +(1000 /(now() - date_publish)/ 86400)+ bm25(@content)/ 10

(注意,所有这些仍然处于不确定状态,我会用你的评论和我的经验结果来改进我的问题;-)

1 个答案:

答案 0 :(得分:0)

我不认为你可以在每个领域得到'相关'因素,所以不能明确地这样排序。

但是可以使用字段权重来改变“每个字段”的权重,因此标题可能比内容具有更大的效果。

然后,您可以使用排名表达式来计算文档的“年龄”,类似于您的示例。

或者可以按相关性明确排序,然后按日期排序 - 使用扩展排序模式。

另一种通过崇敬来排序,但仍将最近的内容推广到顶部的方法是使用“时间段”排序。见SPH_SORT_TIME_SEGMENTS