wiki:pcauto_4.0.0/dev_requirement/sorting_algorithm

Version 8 (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