![]() |
1
2
我将使用一个函数,在一段给定的时间过后,降低每个项目的“有效业力”。这有点像埃里克的方法。 确定你希望“有效业力”减少的频率。然后将业力乘以基于这个周期的比例因子。
哪里
使每个物品的有效业力在24小时内降低到0。然后利用有效的业力来决定要显示什么图像。这是一个更稳定的解决方案,而不仅仅是减去发帖后的时间,因为它将业力在0和它的实际值之间缩放。最小值是将缩放保持在0的下限,因为每天一次,您将开始获得大于1的值。 然而,这并没有从严格意义上考虑流行性。蒂姆的回答为如何考虑严格的人气(即页面浏览量)提供了一些思路。 |
![]() |
2
1
对于您的第一个问题,我将使用稍微复杂一些的方法。你会想要一些“所有时间的最爱”在组合中。但不要一个人去,按实际数字去 意见 图像有。请记住,不是每个人都会登录并投票,但这并不会使这张图片不那么受欢迎。一个2岁,有10张选票和10万张选票的图片对人们来说显然比一个1岁,有100张选票和1万张选票的图片更重要。 对于您的第二个问题,是的,您希望在首页进行某种缓存。要生成进入站点的入口点,需要进行大量的查询。然而,与此类似,你的网站类型往往会通过搜索引擎吸引到内部页面的流量。因此,尝试在任何地方观察/优化您的查询。 对于第三个问题,按时间以外的因素(即视图的)进行搜索有助于确保始终拥有完整且动态的页面。我不确定在首页上分页,引导人们使用标签或搜索可能是更好的策略。 |
![]() |
3
0
您可以计算一个“调整后的业力”类型的字段,它将考虑时间:
然后,您可以直接在查询中计算和排序,也可以将其作为数据库中的实际字段,通过夜间进程或其他方式进行更新。就我个人而言,我会使用一个每晚更新它的过程,因为这可能会使算法在未来变得更加复杂。 |
![]() |
4
0
这个,我找到了
看看这个: http://www.derivante.com/2009/09/01/php-content-rating-confidence/ 在第二个例子中,他解释了如何使用时间作为“新鲜度因子”。 |