我正在使用思考sphinx来搜索文章数据库,我想在创建日期加权,所以新文章首先显示但我不想使用排序,因为它将显示最新的文章,无论它们的相关性如何。
在创作日期我有什么方法可以加权,所以它会向我展示更新的文章,但也会考虑订单中的其他因素吗?
答案 0 :(得分:2)
您将需要创建自己的排序算法,同时混合权重和创建时间戳。也许最好将时间戳作为核心权重,因为它会默认为更大的值 - 然后在添加之前提高相关性得分?
Model.search :sort_mode => :expr, :order => 'created_at + (@weight * 1000)'
有关详细信息,请参阅Thinking Sphinx docs - Sphinx docs也涵盖了可用的数学函数。