我正在创建一个像 twitter 这样的应用程序。
我被困在一个点上。
我将所有推文与用户个人资料一起存储。
现在我必须创建一种算法,以更好地提高性能,以计算整个应用程序中所有用户中最流行的词。
作为我的外行方法:
- 点击完整的数据库
- 搜索重复出现的词
- 为重复出现的单词创建记录
- 跟踪说 1000 个最经常出现的单词
但是在大型应用程序上,这对我来说似乎很重
任何人都可以提出一些更好的方法吗?
我正在创建一个像 twitter 这样的应用程序。
我被困在一个点上。
我将所有推文与用户个人资料一起存储。
现在我必须创建一种算法,以更好地提高性能,以计算整个应用程序中所有用户中最流行的词。
作为我的外行方法:
但是在大型应用程序上,这对我来说似乎很重
任何人都可以提出一些更好的方法吗?
您可能只想检索过去一小时或一天左右的帖子,而不是整个数据库
您应该过滤掉非常常见的单词,例如100 个最常见的英语单词- 您不希望“the”成为热门词
同样,我建议您在每个帖子中只计算一次单词,因此带有“booger booger booger booger booger”的帖子和带有“booger”的帖子都可以视为只有一个单词“booger”的实例
如果您不需要知道精确的字数,那么您可以通过扫描最新帖子的随机样本来凑合,例如其中的 10%
如果您可以使用分而治之的方法,那么这将有助于加快速度