Mysql
 sql >> Database >  >> RDS >> Mysql

Implementazione di hashtag simili a twitter e facebook

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.