如何在类似Twitter的情景中计算趋势词?

时间:2013-07-01 12:39:36

标签: algorithm twitter data-structures trending

我正在创建一个像twitter这样的应用程序。

我陷入困境 我将所有推文存储在用户个人资料中。

现在我必须创建一个算法,以便在性能方面更好地工作,以便在所有用户中计算整个应用程序中最热门的单词。

正如我的外行人所说:

  1. 点击完整的数据库
  2. 搜索重复的字词
  3. 为具有重复次数的字词创建记录
  4. 跟踪1000个最常见的单词
  5. 但在一个大型应用程序中,这对我来说似乎很重要

    有人可以建议一些更好的方法吗?

1 个答案:

答案 0 :(得分:0)

您可能只想检索过去一小时或一天左右的帖子,而不是整个数据库

您应该过滤掉极为常见的单词,例如100 most common English words - 您不希望“the”成为趋势词

同样地,我建议你每个帖子只计算一次单词,所以带有“booger booger booger booger booger”的帖子和带有“booger”的帖子都有资格只有一个单词“booger”的实例

如果您不需要知道确切的字数,那么您可以使用扫描最近帖子的随机样本,例如:其中10%

如果你可以使用分而治之的方法,那么这将有助于加快速度