php - 在 PHP 中向用户显示推荐项目的好算法是什么?

标签 php mysql

在购物网站上,用户会根据他们的购买习惯获得推荐,在交友网站上,用户会根据他们的性格测试和/或位置被推荐为成员(member)。

我需要向我网站的用户显示他们附近的其他成员,以便他们可以结交新 friend 等。

解决这个问题的好方法是什么?

为了避免一遍又一遍地展示同样的老人,我想做这样的事情,

首先显示与用户在同一邮政编码中的其他成员。并且在数据库中有一个“显示”标志,它是一个时间戳,每次推荐成员时都会更新。

在显示之前,我可以检查显示的时间戳是否至少有一周的时间,如果是,那么我可以显示它们,否则我会越走越远,显示在同一个城市、州、国家的其他成员等

这似乎有点复杂,通常需要大量的数据库检查和处理时间。所以我想知道,是否有更简单的方法。是否有任何既定的方法来执行这些类型的推荐列表功能?

最佳答案

节点、图形和推荐数据库是专门为这项任务而设计的。

http://easyrec.org/

http://neo4j.org/

http://glaros.dtc.umn.edu/gkhome/suggest/overview

http://mahout.apache.org/

我建议不要尝试重新实现这一点,尤其是使用关系数据库。根据我的经验,当我有一个客户想要仅使用 PHP 和 MySQL 的类似 Yelp 的功能时 - 这就像将方钉插入圆孔。

关于php - 在 PHP 中向用户显示推荐项目的好算法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8352171/

相关文章:

php - 为什么 vbulletin 使用 ENUM?

mysql - 如何在 bash 脚本中将变量传递给 SSH 命令

php - 通过 PHP foreach 循环按钮将数据提交到 mysql 数据库的单行

python - Python 参数化 MySQL 查询中的转义反斜杠

php - CodeIgniter Active Record 的批处理 "replace into"

php - WordPress主题定制healing-touch主题

preg-match - preg_replace()分隔符不能是字母数字或反斜杠

php - 压缩一个php数组

php - 使用 php 表单和 mysql 增加按钮点击次数

mysql - sql join on string = integer 以在任何 RDBMS 上工作