0

我在谷歌上搜索了很多,找不到这个问题的答案。

我们有 Enterprise Magento 并且正在使用 SOLR。我们想选择一组产品,并在 SOLR 返回时将它们放在搜索结果的顶部。我们会将其用于清仓产品等。

我的想法是将这些项目放在后端的一个特殊的非显示类别中,并以某种方式配置 SOLR 以在搜索结果中对这些产品施加更大的权重。但我看不到如何做到这一点。我只能看到如何加权产品属性。

有人有任何建议吗?

4

2 回答 2

0

在 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 倍。

于 2012-11-20T02:58:39.953 回答
0

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>

QueryElevationComponent

于 2015-05-07T00:48:40.857 回答