我需要按照updated_at
时间戳对一些帖子进行排名,但是在帖子在created_at
后6小时更新到2周后,我需要排名才能有某种指数衰减指出它是平衡的,并没有改变等级。
创建帖子后,updated_at
设置为created_at
的时间戳,以启动排序。
我查看了Hot content algorithm / score with time decay这就是我正在寻找的内容,但我需要等级的精度与updated_at
时间戳类似。
我需要这样做的原因是,最近创建但最近更新的帖子不会显示比最近创建的帖子更高。
答案 0 :(得分:1)
你真的需要一个时间指数衰减分数吗?这似乎不太可能。相反,您希望按修改后的updated_at
进行排序:
def updated_val(item):
if(item.updated_at - item.created_at > 6 hours)
return item.created_at + 6 hours
else
return item.updated_at
如果在6小时内编辑了该项目,我们将返回未修改的updated_at
。但是,如果在六小时之后已经编辑了该项目,我们只会返回最后一个有效的updated_at
值created_at + 6 hours
。
如果您有类似额外得分功能的东西,您只需将其插入此解决方案:
def updated_val_scored(item):
if(item.updated_at - item.created_at > 6 hours)
return score(item.created_at + 6 hours)
else
return score(item.updated_at)