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

Implementering af twitter og facebook som hashtags

En start med MongoDB ville være at analysere hver meddelelse for hashtags, som brugeren brugte, og lægge disse ind i et underarray af dokumentet. Eksempel på statusopdatering:

Denne besked ville se sådan ud i 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"
    ]
}

Når du så opretter et indeks på db.collection.hashtags du kan hurtigt søge efter alle beskeder, der indeholder et af disse hashtags. Du vil sandsynligvis bestille og begrænse resultaterne efter dato, så brugeren ser de seneste resultater først. Når du gør det til et sammensat indeks, som også inkluderer datoen, kan du også fremskynde det.

Hvordan man implementerer "trending" emner er et ret komplekst spørgsmål. Det er også meget subjektivt afhængigt af, hvad du ville betragte som "trending". De nøjagtige algoritmer Twitter eller Facebook bruger til at bestemme, hvilke emner der er trending eller ej, er ikke offentlige. Ifølge forskellige analytikere på sociale medier ændrer de dem også ofte, så vi kan antage, at de er ret komplekse efterhånden.

Det betyder, at vi ikke kan hjælpe dig med at komme med en algoritme på egen hånd. Men når du allerede har en algoritme i tankerne til at beregne "trendyness" af et hashtag, kan vi hjælpe dig med at finde en god implementering.




  1. MYSQL IN-erklæring

  2. C# MySQL-fejl Kolonneantal stemmer ikke overens med værdiantallet i række 1

  3. Udfør et stort SQL-script (med GO-kommandoer)

  4. Hvad er en god måde at trimme alle blanktegn fra en streng i T-SQL uden UDF og uden CLR?