如何实现一个与stackoverflow / digg / reddit类似的推荐系统的网站?即,
用户提交
内容,网站需要根据该项目的流行度来计算某种“热度”.流程如下:
>用户提交内容
>其他用户查看和投票内容(假设90%的用户只查看内容,10%积极投票内容)
>新内容不断提交
如何实现一个计算提交项目的“热度”的算法,最好是实时的?是否有最佳做法或设计模式?
我假设算法考虑以下因素:
>提交物品时
每次投票时,
>当项目被查看
例如.获得不断投票的项目将不断保持“热”,而在第一次提交时获得投票的项目将跳到“热”列表的顶部,但随着票数停止而下降进来.
(我使用MySQL PHP,但我对一般设计模式感兴趣).