我正在开发一个基于 Google App Engine (python) 的网站,该网站允许用户生成内容,并对该内容进行投票(喜欢/不喜欢)。
我们的设计师相当模糊地指定首页应该是最近内容和流行内容之间的平衡,可能假设这些只是创建一个得分值,该得分值对喜欢/不喜欢与创建以来的时间进行加权。最终,目标是 (1) 快速过滤掉不良内容,(2) 继续流行的内容保持更长时间,以及 (3) 新内容有机会保持足够长的时间以获得足够的票数来确定它是否是好是坏。
我可以根据喜欢/不喜欢轻松计算分数。但是结合时间因素来产生一个可以索引的单一分数似乎并不可行。我基本上需要每天重新索引所有内容以调整其分数,一旦我们拥有大量内容,这似乎成本过高。所以,我对潜在的解决方案不知所措。
我还建议了一些时间框(所有时间,每天,每周),但他说用户不太可能查看默认视图以外的选项卡。另外,如果我根据上周进行过滤,我需要按时排序,然后二次流行度排序基本上没有意义,因为提交时间几乎是唯一的。
关于我可能忽略的解决方案的任何建议?
像 Google 的 Prediction API 或 BigQuery 这样的东西能更好地处理这个问题吗?