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名显示为乔
我知道这不是一项容易的任务,涉及大量的架构设计。有没有人有任何建议,或者我有可以学习的网址?
谢谢!
答案 0 :(得分:3)
你想要的是一个推荐引擎。
这里有一篇很棒的文章,关于在Ruby中构建一个:
http://www.igvita.com/2007/01/15/svd-recommendation-system-in-ruby/
如果使用此方法,您可以使用MongoDB的地理空间索引在2d数据结构上快速执行搜索。