Un inizio con MongoDB sarebbe analizzare ogni messaggio per gli hashtag utilizzati dall'utente e inserirli in un sottoarray del documento. Esempio di aggiornamento dello stato:
Questo messaggio sarebbe simile a questo in 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"
]
}
Quando poi crei un indice su db.collection.hashtags
puoi cercare rapidamente tutti i messaggi che includono uno di questi hashtag. Probabilmente vuoi ordinare e limitare i risultati per data in modo che l'utente veda per primi i risultati più recenti. Quando lo rendi un indice composto che include anche la data, puoi anche velocizzarlo.
Come implementare argomenti "di tendenza" è una domanda abbastanza complessa. È anche molto soggettivo a seconda di ciò che considereresti "di tendenza". Gli algoritmi esatti utilizzati da Twitter o Facebook per determinare quali argomenti sono di tendenza o meno non sono pubblici. Secondo vari analisti dei social media li cambiano anche frequentemente, quindi possiamo presumere che ormai siano piuttosto complessi.
Ciò significa che non possiamo aiutarti a trovare un algoritmo da solo. Ma quando hai già in mente un algoritmo per calcolare la "trendyness" di un hashtag, potremmo aiutarti a trovare una buona implementazione.