更新了时间戳排序衰减算法

时间:2013-11-28 01:54:41

标签: algorithm sorting ranking

我需要按照updated_at时间戳对一些帖子进行排名,但是在帖子在created_at后6小时更新到2周后,我需要排名才能有某种指数衰减指出它是平衡的,并没有改变等级。

创建帖子后,updated_at设置为created_at的时间戳,以启动排序。

我查看了Hot content algorithm / score with time decay这就是我正在寻找的内容,但我需要等级的精度与updated_at时间戳类似。

我需要这样做的原因是,最近创建但最近更新的帖子不会显示比最近创建的帖子更高。

1 个答案:

答案 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_atcreated_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)