Как рассчитать ТРЕНДИНГОВЫЕ СЛОВА в твиттер-подобном сценарии?

Я создаю приложение, как твиттер.

Я застрял в точке.
У меня все твиты хранятся с профилями пользователей.

Теперь мне нужно создать алгоритм для лучшей работы с точки зрения производительности, чтобы вычислить самые популярные слова во всем приложении среди всех пользователей.

Как подходит мой дилетант:

  1. Хит всю базу данных
  2. Поиск повторяющихся слов
  3. Создана запись для слов, имеющих повторения
  4. Следите за 1000 самых повторяющихся слов

Но для большого приложения это кажется мне довольно тяжелым

Кто-нибудь может предложить несколько лучших подходов?

1 ответ

Вы, вероятно, хотите получать сообщения только за последний час или день, а не из всей базы данных

Вы должны отфильтровать чрезвычайно распространенные слова, такие как 100 самых распространенных английских слов - вы не хотите, чтобы слово "the" было популярным

Кроме того, я рекомендую, чтобы вы считали слово только один раз за пост, поэтому пост с "Booger Booger Booger Booger Booger" и пост с "Booger" квалифицируются как имеющие только один экземпляр слова "Booger"

Если вам не нужно знать точное количество слов, то вы, вероятно, можете обойтись сканированием случайной выборки самых последних сообщений, например, 10% из них

Если вы можете использовать подход "разделяй и властвуй", это поможет ускорить процесс

Другие вопросы по тегам