使用标签实现搜索结果相关性排序的最简单方法?

您好!几周前我设置了我的第一个 Discourse 实例,使用了 Fakebook 主题,将 Discourse 改装成了一个小众社交媒体平台。我一直在尝试各种插件,并且非常享受开发过程。这是一个很棒的工具,感谢所有为此做出贡献的人。

我广泛使用帖子标签来确定哪些帖子与哪些用户相关。我有三个标签组,帖子会被自动或手动标记上每个组中的至少一个标签,因此每个帖子至少有三个标签。用户有一个设置页面,可以在其中选择他们特别感兴趣的标签。

在主信息流中,我想向用户展示所有帖子,并且我希望带有用户偏好标签更多的帖子在信息流中显示得更高。因此,如果一个帖子有三个用户偏好的标签,它会比只有一个用户偏好标签的帖子在用户的信息流中显示得更高。这可以“模糊”处理,理想情况下,最好能与任何搜索集成。换句话说,每当用户进行搜索时,带有他们偏好标签的搜索结果会被“提升”,并显示在更靠前的位置,标签越多,提升效果越强。

我的想法是,一个简单的实现方法是创建一个插件,为每个标签分配一个文本代码,当一个主题被标记时,插件会将文本代码附加到第一个帖子的正文中,放在一个隐藏的 div 中。然后,我可以将用户偏好标签的文本代码自动附加到所有搜索中。如果这能按我设想的那样工作,就可以在不修改核心搜索功能的情况下,让偏好标签影响搜索相关性。

对于在 Discourse 开发方面有经验的各位,您是否有其他更好的实现建议?您认为文本代码的想法会奏效吗?

非常感谢!

2 个赞

感谢 @codinghorror 正确地对此进行了分类。我不确定“功能”是否包括插件开发。