我在谷歌上搜索了很多,找不到这个问题的答案。
我们有 Enterprise Magento 并且正在使用 SOLR。我们想选择一组产品,并在 SOLR 返回时将它们放在搜索结果的顶部。我们会将其用于清仓产品等。
我的想法是将这些项目放在后端的一个特殊的非显示类别中,并以某种方式配置 SOLR 以在搜索结果中对这些产品施加更大的权重。但我看不到如何做到这一点。我只能看到如何加权产品属性。
有人有任何建议吗?
我在谷歌上搜索了很多,找不到这个问题的答案。
我们有 Enterprise Magento 并且正在使用 SOLR。我们想选择一组产品,并在 SOLR 返回时将它们放在搜索结果的顶部。我们会将其用于清仓产品等。
我的想法是将这些项目放在后端的一个特殊的非显示类别中,并以某种方式配置 SOLR 以在搜索结果中对这些产品施加更大的权重。但我看不到如何做到这一点。我只能看到如何加权产品属性。
有人有任何建议吗?
在 Solr 中为字段赋予不同的权重非常简单——只需将以下内容添加到 solrconfig.xml 中的默认 requestHandler
<requestHandler name="/select" class="solr.SearchHandler">
<lst name="defaults">
...
<qf>Weighted_Category^3 Lesser_Category^0.5</qf>
</lst>
</requestHandler>
如果存在匹配,这会将“加权类别”加权 3 倍。
Magento-solr 有一个内置函数可以做到这一点。
magento/lib/apache/solr/config/elevate.xml:
<elevate>
<query text="foo bar">
<doc id="1" />
<doc id="2" />
<doc id="3" />
</query>
<query text="ipod">
<doc id="MA147LL/A" /> <!-- put the actual ipod at the top -->
<doc id="IW-02" exclude="true" /> <!-- exclude this cable -->
</query>
</elevate>