文章热门排行要用到算法,没个思路,找了一些资料,借来用了。
给个公式:
A 为某篇文章的具体发布时间,精确到秒;B 为一个固定的时间常量,2008-12-01 00:00:00。则可以计算得到 A 和 B 间隔的秒数 ts。
ts =A-B
M表示某篇文章的来自于文章总推荐次数,R代表阅读数,C代表评论数。引入不同权重因子,则可以计算得到变量Z:
R=3*A+2*C+1*R
Z=M*3+R*1
最后定义 SRRank 公式为,
SRRank=log10 Z+ts /45000
另外:如果文章数目是几十万条,那么应该用另外一种方式来实现,我的大概思路是这样的:
一批系统设置的用户,该用户列推荐的文章一定会加入文章序列。
上榜后的文章根据积分算法排行,普通文章当积分值达到积分的期望值后自动加入队列。
其他:oralce中的实现
LOG(10,3*A+2*C+1*R)+(addtime- to_date('2010-3-01','yyyy-mm-dd'))*24*3600/45000
1. Social Media排序算法的四种模式
http://blog.csdn.net/zhengyun_ustc/archive/2009/09/06/4523916.aspx
2.从Social Media海量数据中寻找专家的五大手法
http://blog.csdn.net/zhengyun_ustc/archive/2009/09/03/4513704.aspx
3. 做一个社会化推荐引擎
http://blog.csdn.net/zhengyun_ustc/archive/2008/12/21/3575578.aspx
4.热文排行的算法进行了优化
http://www.williamlong.info/archives/521.html
5.Http 1.1 Etag 与 Last-Modified
http://www.dbanotes.net/web/http_11_etag_lastmodified.html
6.http://www.dbanotes.net/review/zhuaxia_xianguo_google_reader.html
7.http://hi.baidu.com/szahua/blog/item/4973d11bb0c8f2d2ad6e75d5.html
8.Digg.com:投票的动力因素分析
http://www.mywowo.com/news.asp?Gmail_ID=589
9.Digg 算法揭密
http://hi.baidu.com/momoca/blog/item/a294cbef622f9c35acafd507.html