首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >相关标记算法

相关标记算法
EN

Stack Overflow用户
提问于 2013-03-31 13:50:34
回答 1查看 453关注 0票数 3

我需要找到一个方法来获取相关的视频,主要是寻找相关的标签。

首先,让我们看看我的标记存储在数据库中的方式:

请注意,这不是MySQL数据库,我正在使用Cassandra

因此,如您所见,每个标记都包含一个带有该标记的post ids列表。这样获取post I将很容易,在SQL语言中我要说:

SELECT * from tags WHERE id = "cars" AND id = "movies"

好吧,这个部分很简单,现在我有很多贴着相关标签的帖子,对吧?

但现在出现了一个我无法克服的问题。因为一个帖子比另一个帖子有更多的相关标签,所以它比其他帖子重要得多。当然,我可以黑一些东西,看看哪个帖子有更多的相关标签,但另一个更严重的问题来了。

假设我们有20个标签,所以我们查找20行,这20行总共包含大约1亿个ids,运行一亿个ids并将它们进行比较将需要很多资源和时间。所以我是在问如何才能改善这种情况?

EN

回答 1

Stack Overflow用户

发布于 2013-03-31 17:12:56

就像大多数人在评论中说的那样。

您可能需要考虑更改数据库中标记的管理方式。我假设您有一个‘post’表;也许您应该在该表中添加一个‘tag’列,而不是为标记设置一个单独的表。

除了对相关标签有非常快速的访问之外..。

如果空间不是真正的问题,您可以对每个帖子的“标记”列进行全文索引(或者更确切地说,相当于Cassandra ),甚至可以在短时间内访问相关的帖子。当然,你仍然需要限制你的搜索相关的帖子,但这只是一个使用限制的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15730082

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档