2011-02-03 5 views
1

MongoDB Question:Articles Similaires en MongoDb

Je voudrais trouver des signets similaires des autres utilisateurs.

Disons que j'ai une collection "UserFavorites" et chaque document est quelque chose comme: { 'user_id': 'Joe', bookmark_ids: [1,2,3,4,5,6]}

Je voudrais offrir à l'utilisateur "Joe" les favoris des autres basés sur des similitudes d'intérêt.

Quelque chose comme $ all_bookmarks = Trouvez toutes les personnes qui ont les signets les plus similaires à l'utilisateur "joe";

$ display_bookmarks_to_joe = Le même groupe signets à partir de l'intérieur all_bookmarks $ et attribuer des notes (combien de fois même article paru dans all_bookmarks $) puis afficher le top 20 à Joe

Je sais que ce n'est pas une tâche facile et implique beaucoup de la conception de schéma. Est-ce que quelqu'un a des suggestions, ou a une URL que je pourrais étudier?

Merci!

Répondre

3

Ce que vous voulez est un moteur de recommandation.

Il y a un article ici sur la construction d'un Ruby:

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

Si vous utilisez cette approche, vous pourriez probablement utiliser l'indexation géo-spatiale de MongoDB pour effectuer des recherches rapidement sur la structure des données 2d.

+0

PARFAIT! JE T'AIME ! – Gotys

Questions connexes