gpt4 book ai didi

mysql - A "recomendations"表结构

转载 作者:行者123 更新时间:2023-11-29 14:53:43 26 4
gpt4 key购买 nike

您知道人们如何寻找类似或推荐的电影或电视节目吗?

http://www.anime-planet.com/anime/devil-may-cry

看看它在底部如何分享推荐的动漫,并且它们作为推荐相互链接,因此如果您在 B 上链接 A 到 B,您也可以看到 A,并且A 到 BB 到 C
C - 不是 - A

我的问题是如何最好地处理这些条目?

列表_表

  • list_id

  • 列表标题

  • 列表内容

推荐表

  • list_id_A

  • list_id_B

虽然我认为这种方法会导致很多重复,但我认为查询也会有点困惑。如有任何建议,我们将不胜感激。

最佳答案

你指的是一个相对简单的推荐引擎。对于手动分配建议(其中 A 指向 B,B 指向 C)的小型数据集来说,它可以很好地工作,但它不是一种可扩展的方法。一旦你使用的产品数量超过了微不足道的数量,它就会变得太笨重而难以维护(在我看来)。

您可能会发现使用更复杂的东西会更好。看看人们如何使用 Google 的 Prediction api (http://code.google.com/apis/predict/docs/samples.html#demos) 之类的东西来进行这种预测。在这种情况下,您不会存储实际的链接,而是存储用户喜欢什么,然后查看该信息来构建您的推荐。

虽然预测 API 并不是适合所有人的完美解决方案,但它将为您提供一种非常简单的方法来构建网站的推荐部分,而无需深入学习机器学习技术。

对于上面的表结构,如果您这样做,则不需要重复数据。相反,我建议您在推荐表的两列中查找您所在的元素。

例如,如果“Recommendations_table”中有以下记录

list_id_A, list_id_B
1, 2
9, 12
2, 3

您可以通过使用联合查询来获取与“2”相关的所有内容,例如:

select list_id_A from recommendations_table where list_id_B = 2
union
select list_id_B from recommendations_table where list_id_A = 2

此外,您可以添加更多 sql 以确保只返回唯一的结果。但最终,您如何填充这些信息,因为这可能比任何事情都更重要。

如果您想更进一步并使用不同的技术,例如像 Cassandra 这样的 nosql 数据存储,您可以有一个称为推荐的列族,并且您的键将是您正在观看的电影。那么后续的列名称将是推荐的电影 ID。在这种情况下,您的结构将是这样的:

Key, columns.....
Movie A, 4, 5, 67,1, 9,3
Movie B, 3, 4, 1

在这种情况下,您将提取特定键的所有列名称,这将是您的推荐列表。

所有这些确实是学术性的,而不知道您打算如何填充数据。

关于mysql - A "recomendations"表结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5146671/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com