Mysql
 sql >> Base de données >  >> RDS >> Mysql

Implémenter twitter et facebook comme des hashtags

Un début avec MongoDB serait d'analyser chaque message pour les hashtags utilisés par l'utilisateur et de les placer dans un sous-tableau du document. Exemple de mise à jour de statut :

Ce message ressemblerait à ceci dans MongoDB :

{
    author: "Peter",
    date: ISODate("2014-04-29 12:28:34"),
    text: "Hello friends, I visited the #tradeshow in #washington and drank a delicious #coffee",
    hashtags: [
        "tradeshow",
        "washington",
        "coffee"
    ]
}

Lorsque vous créez ensuite un index sur db.collection.hashtags vous pouvez rechercher rapidement tous les messages contenant l'un de ces hashtags. Vous souhaiterez probablement trier et limiter les résultats par date afin que l'utilisateur voie les résultats les plus récents en premier. Lorsque vous en faites un index composé qui inclut également la date, vous pouvez également accélérer cela.

Comment mettre en œuvre des sujets "tendance" est une question assez complexe. C'est aussi très subjectif en fonction de ce que vous considérez comme "tendance". Les algorithmes exacts que Twitter ou Facebook utilisent pour déterminer quels sujets sont à la mode ou non ne sont pas publics. Selon divers analystes des médias sociaux, ils les changent également fréquemment, nous pouvons donc supposer qu'ils sont assez complexes maintenant.

Cela signifie que nous ne pouvons pas vous aider à trouver un algorithme par vous-même. Mais lorsque vous avez déjà un algorithme en tête pour calculer la "tendance" d'un hashtag, nous pouvons vous aider à trouver une bonne implémentation.