如何找到最受欢迎的帖子

时间:2011-11-06 05:20:50

标签: ruby-on-rails ruby

  1. 列表项
  2. 每天我想在网站上找到“最受欢迎”的帖子并在主页上显示。

    对于每一篇文章,我都会记录它被“喜欢”,“不喜欢”,“收藏”和“浏览”的次数。

    我想做一个日常的cron工作,我做的事情是:

      post = Post.order("popularity_score DESC").first
      post.feature!
    

    我的问题是,我应该如何计算popular_score的值?

    是否存在考虑“统计显着性”的公式?意思是,这个帖子有1个“喜欢”投票而没有别的,虽然拥有100%的支持率,但这并不意味着太多,因为只有一个人投票赞成。

    总的来说,我有这些松散的想法:

    1. 一个有10个喜欢而且没有其他选票的帖子比a更受欢迎 帖子与1投票。
    2. 一个比“不喜欢”的帖子 “喜欢”应该比具有更多“喜欢”的帖子得分更低 “不喜欢”
    3. 一个有20个观看次数且没有其他选票的帖子更多 比有3个观点的帖子更受欢迎。
    4. 我已经尝试了一些任意的公式来试图满足这个目标,但确实存在,任意而且我真的不知道是否有更好的方法来解决这个问题?

      建议?

2 个答案:

答案 0 :(得分:1)

也许你可以采取SO方法?看起来相当不错。

  • +得到10分
  • -减去2分
  • view添加一个较小的数字,例如0.01分
  • comment加2分

答案 1 :(得分:1)

一个建议是不要每天重置你的柜台(让“最受欢迎的”开放一票)。

相反,按年龄加权投票 - 较新的投票数比旧票数多。随着时间的推移,这将为您带来渐进和有意义的重新定义。

相关问题