【问题标题】:how to calculate TRENDING WORDS in a twitter like scenario?如何在类似推特的场景中计算趋势词?
【发布时间】:2013-06-28 14:06:33
【问题描述】:
我正在创建一个类似 twitter 的应用程序。
我被困在一个点上。
我将所有推文与用户个人资料一起存储。
现在我必须创建一种算法,以便在性能方面更好地计算所有用户中整个应用程序中最流行的词。
作为我的外行方法:
- 点击完整的数据库
- 搜索重复出现的词
- 为重复出现的单词创建记录
- 记录最常出现的 1000 个单词
但在大型应用程序上,这对我来说似乎很重
谁能推荐一些更好的方法?
【问题讨论】:
标签:
algorithm
twitter
data-structures
trending
【解决方案1】:
您可能只想检索过去一小时或一天左右的帖子,而不是从整个数据库中检索
您应该过滤掉非常常见的词,例如 100 most common English words - 您不希望“the”成为热门词
同样,我建议您在每个帖子中只计算一个单词,因此带有“booger booger booger booger booger”的帖子和带有“booger”的帖子都可以视为只有一个单词“booger”的实例
如果您不需要知道确切的字数,那么您可以通过扫描最新帖子的随机样本来凑合,例如其中10%
如果您可以使用分而治之的方法,那么这将有助于加快速度