类似物品在MongoDb

时间:2011-02-03 08:42:07

标签: mongodb

MongoDB问题:

我想找到其他用户的类似书签。

假设我有一个“UserFavorites”集合,每个文档都是这样的: {'user_id':'joe',bookmark_ids:[1,2,3,4,5,6]}

我想根据兴趣相似性向用户提供“joe”其他人的最爱。

喜欢的东西 $ all_bookmarks =查找所有与用户“joe”具有最相似书签的人;

$ display_bookmarks_to_joe =从$ all_bookmarks中分组相同的书签并分配分数(同一项目出现在$ all_bookmarks中的次数),然后将前20名显示为乔

我知道这不是一项容易的任务,涉及大量的架构设计。有没有人有任何建议,或者我有可以学习的网址?

谢谢!

1 个答案:

答案 0 :(得分:3)

你想要的是一个推荐引擎。

这里有一篇很棒的文章,关于在Ruby中构建一个:

http://www.igvita.com/2007/01/15/svd-recommendation-system-in-ruby/

如果使用此方法,您可以使用MongoDB的地理空间索引在2d数据结构上快速执行搜索。