我有一个模型,比如 Post。它有标签。每个标签都有一个应该反映在搜索中的权重。我可以以某种方式存储这些标签并用它的重量来提升它们吗?
例子:
帖子标题是“在外面吃饭”标签是“汉堡”(重量 5)、“披萨”(重量 4)和“寿司”(重量 2)。当有人搜索“burgers”时,这应该考虑额外的提升,并将其显示在带有标签“burgers”且权重=2 的帖子上方。
我想到的第一个解决方案是有 5 个文本字段,提升 1-5,其中将包含每个帖子的标签。有更优雅的解决方案吗?
我有一个模型,比如 Post。它有标签。每个标签都有一个应该反映在搜索中的权重。我可以以某种方式存储这些标签并用它的重量来提升它们吗?
例子:
帖子标题是“在外面吃饭”标签是“汉堡”(重量 5)、“披萨”(重量 4)和“寿司”(重量 2)。当有人搜索“burgers”时,这应该考虑额外的提升,并将其显示在带有标签“burgers”且权重=2 的帖子上方。
我想到的第一个解决方案是有 5 个文本字段,提升 1-5,其中将包含每个帖子的标签。有更优雅的解决方案吗?
没有开箱即用的良好支持。然而,最近的匹配似乎是payloads。在这里查看有关它的(旧)文章,但也有更新的文章。这两个都使用自定义相似度,这是一个相当高级的话题。幸运的是,从 Solr 4 开始,有一种方法可以定义每个字段的相似性,因此最终代码可能比这些示例中的任何一个都简单。
如果你明白这一点,请与世界其他地方分享这篇文章(例如在SearchHub 上)。我认为还没有人将这些部分与完全更新的 Solr 堆栈组合在一起。