Php 优化用户兴趣排序算法

Php 优化用户兴趣排序算法,php,mysql,optimization,Php,Mysql,Optimization,在我的网站上,目前有一个按点数/年龄对内容进行排名的算法。 我们想引入基于用户偏好的特定于用户的排名。 例如:points/age*userPreference 目前唯一的问题是要减少服务器负载,我们正在缓存数据库中的排名,因为计算页面负载上每一条内容的排名会花费太长时间。 现在,我们需要特定于用户的排名,这将不再有效,因为每个用户的排名将不同。我们如何在不重新计算每个页面加载的所有内容的排名的情况下实现这一点呢?您需要找到一组“标准”用户-例如选择10个不同的年龄、性别和任何其他相关的偏好。。

在我的网站上,目前有一个按点数/年龄对内容进行排名的算法。 我们想引入基于用户偏好的特定于用户的排名。 例如:points/age*userPreference 目前唯一的问题是要减少服务器负载,我们正在缓存数据库中的排名,因为计算页面负载上每一条内容的排名会花费太长时间。
现在,我们需要特定于用户的排名,这将不再有效,因为每个用户的排名将不同。我们如何在不重新计算每个页面加载的所有内容的排名的情况下实现这一点呢?

您需要找到一组“标准”用户-例如选择10个不同的年龄、性别和任何其他相关的偏好。。。然后计算每个人的分数

然后,根据用户的个人详细信息,将用户与最接近的“标准”用户进行匹配


这实际上是旧的时间/空间权衡。你可以通过让你的标准用户列表足够长以包含所有可能的用户,来进一步了解这一点,但这可能是巨大的

你需要拿出一组“标准”用户-例如选择10个不同的年龄、性别和任何其他相关的偏好。。。然后计算每个人的分数

然后,根据用户的个人详细信息,将用户与最接近的“标准”用户进行匹配


这实际上是旧的时间/空间权衡。您可以通过让标准用户列表足够长以包含所有可能的内容来进一步扩展,但这可能会非常庞大

我可以问一下这是什么类型的内容吗?这将帮助我想出一个解决方案。我能问一下这是什么类型的内容吗?这将帮助我想出一个解决方案。值得注意的是,自从写下这个答案以来,技术已经取得了长足的进步。像Elasticsearch这样的工具现在能够以很少的开销计算每个用户的动态排名。值得注意的是,自从写下这个答案以来,技术已经取得了长足的进步。像Elasticsearch这样的工具现在能够在每个用户的基础上动态计算排名,而开销很小。