资讯列表排序算法
公式
x = 赞 + 踩
x(x>0)
y =
1(x=0)
timestamp = timestamp / 1000
score = lg(y) + timestamp / ( 0.72 * 10^4) + 0.01 * x
解释
列表根据score进行排序
lg(y)表示赞踩越多,分值越高。而且赞踩越多,后面赞踩的作用越小。比如10个人赞踩可以使文章得到1分,但是需要100个人赞踩才可以使文章得到2分。
发布时间戳timestamp(单位是秒)/ 7200 表示越新发布的文章,分数越高。
总的来说,最终得分由发布时间和赞踩数决定, 发布时间相近的情况下,赞踩数的权重较大,所以可能会出现先发布的文章排在后发布的文章后面的情况。
示例
假设文章发布时间pubDate是 2013-12-02 18:04:59,顶踩数分别是2,1
则将该发布时间pubDate转换为对应的timestamp = 1385978699000 / 1000 = 1385978699,单位是秒
最后计算出总分score = log10(2 + 1) + timestamp / 7200 + 0.01 * ( 2 + 1)
![(please configure the [header_logo] section in trac.ini)](http://www1.pconline.com.cn/hr/2009/global/images/logo.gif)