| Version 9 (modified by yangmengjun, 12 years ago) (diff) |
|---|
资讯列表排序算法
公式
x = 赞 + 踩
x(x>0)
y =
1(x=0)
score = lg(y) + 发布时间戳/45000
解释
列表根据score进行排序
lg(y)表示赞踩越多,分值越高。而且赞踩越多,后面赞踩的作用越小。比如10个人赞踩可以使文章得到1分,但是需要100个人赞踩才可以使文章得到2分。
发布时间戳/45000表示越新发布的文章,分数越高。后一天的帖子会比前一天的帖子多得2分。
总的来说,最终得分由发布时间和赞踩数决定,而且发布时间占的权重比较大。
示例
假设文章发布时间pubDate是 2013-12-02 18:04:59,顶踩数分别是2,1
则将该发布时间pubDate转换为对应的timestamp=1385978699000,单位是毫秒
最后计算出总分score = log10(2 + 1) + timestamp / 45000
![(please configure the [header_logo] section in trac.ini)](http://www1.pconline.com.cn/hr/2009/global/images/logo.gif)