Solr - 在学期开始时以完全匹配的方式提升结果
Posted
技术标签:
【中文标题】Solr - 在学期开始时以完全匹配的方式提升结果【英文标题】:Solr - Boost result with exact match in the begginning of term 【发布时间】:2021-12-05 10:36:16 【问题描述】:对于电子商务商店,我在 Solr 中有两种类似的产品
-
easyCover 硅胶保护套适用于佳能 EOS 80D(迷彩)
佳能 EOS 80D 单反相机,带 18-135 毫米镜头
现在,对于搜索查询“Canon EOS 80D”,我得到的产品排名为 1,2。
如何将产品 2 排名第一,即“Canon EOS 80D DSLR Camera with 18-135mm Lens”排名第一?
基本上,与在名称短语中具有相同术语而不是第一个术语的产品相比,我想为在名称短语开头具有术语的产品提供更多的提升/重量年龄。
请指教。
【问题讨论】:
我的第一个猜测是查看 boost 函数/查询参数 (solr.apache.org/guide/8_0/…),但我不确定内置函数 (solr.apache.org/guide/8_0/function-queries.html) 是否能满足您的要求。跨度> 你见过这个吗? ***.com/a/12079279/446681 使用通配符匹配的字符串字段作为提升查询应该可以;小写文本(或使用带有 KeywordTokenizer 和 LowercaseFilter 的 TextField)和查询,并使用bq
或 boost
对具有前缀匹配的任何内容应用提升 - 只要您想要的是完全匹配从文本的开头开始,而不是在常规搜索中“较早匹配的令牌应该得分更高”(在这种情况下,有效负载提升可能是这样做的方法)
【参考方案1】:
我强烈建议不要使用令牌位置来提升您的产品而不是配件。假设客户正在搜索“EOS 80D” - 他仍然会在第一个位置找到硅胶盖。
更好的解决方案是在次要领域进行提升。一些想法:
在价格上设置一个提升功能,因为主要产品通常都有 作为配件价格更高,例如bf=log(price)
使用字段对产品和配件中的项目进行分类 - 并对此进行提升,例如bq=category:product
创建一个字段以列出评估员可以使用的产品
和。这也将有助于您在未来宣传配件。
但它现在也有助于找到主要产品,通过提高
此处不包含参考的文档。
我知道这个答案不是原始问题的直接解决方案 - 但如果您从远处看问题,有时会有更简单的解决方案。
【讨论】:
对我来说似乎是个好主意,但看起来不是那样的。感谢分享。认真考虑实施以上是关于Solr - 在学期开始时以完全匹配的方式提升结果的主要内容,如果未能解决你的问题,请参考以下文章