Na początek MongoDB przeanalizuje każdą wiadomość pod kątem hashtagów użytych przez użytkownika i wstawi je do podtablicy dokumentu. Przykładowa aktualizacja statusu:
Ta wiadomość wyglądałaby tak w 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"
]
}
Kiedy następnie utworzysz indeks na db.collection.hashtags
możesz szybko wyszukać wszystkie wiadomości zawierające jeden z tych hashtagów. Prawdopodobnie chcesz uporządkować i ograniczyć wyniki według daty, aby użytkownik widział najnowsze wyniki jako pierwszy. Kiedy uczynisz go indeksem złożonym, który zawiera również datę, możesz to również przyspieszyć.
Jak zaimplementować „modne” tematy to dość złożone pytanie. Jest to również bardzo subiektywne, w zależności od tego, co uważasz za „trendy”. Dokładne algorytmy używane przez Twitter lub Facebook do określania, które tematy są popularne, a które nie, nie są publiczne. Według różnych analityków mediów społecznościowych często je również zmieniają, więc możemy założyć, że są już dość złożone.
Oznacza to, że nie możemy pomóc Ci samodzielnie wymyślić algorytmu. Ale kiedy masz już na myśli algorytm do obliczania „modności” hashtagu, możemy pomóc Ci znaleźć dobrą implementację.