【问题标题】:How to sort posts based on users interactions/most interested users如何根据用户交互/最感兴趣的用户对帖子进行排序
【发布时间】:2013-09-15 20:13:05
【问题描述】:

我正在处理一个大问题。我需要从主要两个表中获取包含信息的墙:帖子和事件。

必须对这些信息进行排序,以便最有趣的位于顶部(例如 Facebook 自己的新闻源)。

我希望根据其他表来排序这些信息,例如当前用户最喜欢哪个用户;喜欢哪个用户最有趣(以关注和喜欢他的帖子的形式),然后将其放在首位。

我想到了一个像这里描述的系统:Algorithm of most relevant wall posts - 但过了一会儿,它似乎太乱了,需要我从数据库中加载所有帖子,最终会非常 大量数据,然后逐个处理所有数据。

有人有这方面的经验吗?这样我就能找到正确的方向。

【问题讨论】:

  • 第一步:查找当前用户的所有关联。第 2 步:按“喜欢”的最高数量排序。完成。

标签: php mysql sql logic information-retrieval


【解决方案1】:

我处理完全相同的问题,方法与@relentless 解释的方法相同

  1. 查找当前用户的所有关联
  2. 按赞数排序

然而,这在理论上看起来非常好,但在我的情况下,实际上它需要的时间比用户愿意等待的时间要长。

所以我所做的是将数据库记录(在您的情况下为帖子和事件)的数量限制为可以在 2 秒的时间范围内处理的数量。在我的情况下,这是过去 6 个月,但在您的情况下,您必须调整时间和负载以最适合您的需求。

【讨论】:

  • 这很有趣。我有一个 VIEW 来跟踪特定用户(作者)如何与其他用户交互。请参阅!the table。在这里,您可以看到 AUTHOR(user_id)如何通过在他的墙上发帖(帖子)、喜欢他们的东西(喜欢)和关注来与其他用户互动。有没有办法可以用这个 VIEW 订购表格 POSTS?然后我们就可以真正解决问题了。
猜你喜欢
  • 2021-04-25
  • 1970-01-01
  • 1970-01-01
  • 2011-08-30
  • 1970-01-01
  • 2022-01-13
  • 1970-01-01
  • 2020-09-14
  • 2019-05-27
相关资源
最近更新 更多