Как рассчитать ТРЕНДИНГОВЫЕ СЛОВА в твиттер-подобном сценарии?
Я создаю приложение, как твиттер.
Я застрял в точке.
У меня все твиты хранятся с профилями пользователей.
Теперь мне нужно создать алгоритм для лучшей работы с точки зрения производительности, чтобы вычислить самые популярные слова во всем приложении среди всех пользователей.
Как подходит мой дилетант:
- Хит всю базу данных
- Поиск повторяющихся слов
- Создана запись для слов, имеющих повторения
- Следите за 1000 самых повторяющихся слов
Но для большого приложения это кажется мне довольно тяжелым
Кто-нибудь может предложить несколько лучших подходов?
1 ответ
Вы, вероятно, хотите получать сообщения только за последний час или день, а не из всей базы данных
Вы должны отфильтровать чрезвычайно распространенные слова, такие как 100 самых распространенных английских слов - вы не хотите, чтобы слово "the" было популярным
Кроме того, я рекомендую, чтобы вы считали слово только один раз за пост, поэтому пост с "Booger Booger Booger Booger Booger" и пост с "Booger" квалифицируются как имеющие только один экземпляр слова "Booger"
Если вам не нужно знать точное количество слов, то вы, вероятно, можете обойтись сканированием случайной выборки самых последних сообщений, например, 10% из них
Если вы можете использовать подход "разделяй и властвуй", это поможет ускорить процесс