Erstellung einer "Trending Topics" Liste

mXa

Mitglied
Hallo zusammen,

in unserem Intranet haben wir eine Art "Mini-Twitter" installiert, welches ich selber geschrieben habe. Nun wollen wir aber die, sagen wir mal, Top 15 Trendwörter herausfiltern um damit die "Trending Topics"-Darstellung zu haben.

Leider fehlt mir der gedankliche Zugang. Wie kann man MySQL dazu bringen die meistgeschriebenen Wörter, oder auch Hashtags, auszugeben ohne sie selber zu nennen.

Wäre wirklich super, wenn Ihr mir helfen könntet.

Viele Grüße
Max
 
Ich persönlich würde das nicht mit MySQL lösen, denn da wirst du auf keinen grünen Zweig kommen. Du solltest eine so intensive Operation auch nicht Live ausführen, sondern alle paar Minuten/Stunden/Wasauchimmer und das Ergebnis cachen.

Ich würde so vorgehen:
1.Alle Tweets als langen String auslesen
SQL:
SELECT GROUP_CONCAT(LOWER(text) SEPARATOR ' ') FROM tweets GROUP BY NULL

->Alles weiter außerhalb der Datenbank (mit c, c++, c#, java, php, ruby, perl, python, was auch immer dir einfällt)

2.Jetzt würde ich per regulärem Ausdruck alle Zeichen entfernen, die bei der Untersuchung keinen Sinn machen (z.B. Satzzeichen)

3.Anschließend den String an den Leerzeichen trennen(split, tokenizer, etc.) und alle Wörter durchgehen und Zählen, wie oft sie vorkommen. Wörter mit weniger als 4 Zeichen würde ich auch direkt mal ignorieren.

4.Jetzt z.B. die 10 häufigsten Wörter raussuchen
 
Zurück