【问题标题】:Searchandising with Enterprise Magento and Solr使用 Enterprise Magento 和 Solr 进行搜索和处理
【发布时间】:2012-11-19 10:18:40
【问题描述】:

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

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

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

大家有什么建议吗?

【问题讨论】:

  • 您可以创建一个属性(如“优先级”)并为所有“清仓”产品分配更大的价值,而不是将产品归入一个类别。并且对于 solr 将此属性配置为最前台。

标签: magento solr enterprise


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    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

    【讨论】:

      猜你喜欢
      • 2017-04-11
      • 1970-01-01
      • 2012-06-24
      • 2014-12-20
      • 1970-01-01
      • 1970-01-01
      • 2011-03-24
      • 2011-12-26
      相关资源
      最近更新 更多