Началото с MongoDB би било да анализирате всяко съобщение за хештагове, използвани от потребителя, и да ги поставите в подмасив на документа. Примерна актуализация на състоянието:
Това съобщение би изглеждало така в 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"
]
}
Когато след това създадете индекс на db.collection.hashtags
можете бързо да търсите всички съобщения, които включват един от тези хештагове. Вероятно искате да поръчате и ограничите резултатите по дата, така че потребителят първо да види най-новите резултати. Когато го направите сложен индекс, който също включва датата, можете също да го ускорите.
Как да приложим "актуални" теми е доста сложен въпрос. Също така е много субективно в зависимост от това, което смятате за „тренд“. Точните алгоритми, които Twitter или Facebook използват, за да определят кои теми са актуални или не, не са публични. Според различни анализатори на социални медии те също ги променят често, така че можем да предположим, че вече са доста сложни.
Това означава, че не можем да ви помогнем да измислите алгоритъм сами. Но когато вече имате предвид алгоритъм за изчисляване на „модерността“ на хештаг, бихме могли да ви помогнем да намерите добра реализация.