【问题标题】:Solr result order is wrong when applying sorting (Apache solr with Magento)应用排序时 Solr 结果顺序错误(Apache solr with Magento)
【发布时间】:2014-10-07 21:01:05
【问题描述】:

我正在使用 apache solr 4.6 和 Magento EE 1.12

目前,当我使用排序字段 (attr_sort_name_en) 从 solr 搜索 S26 时,它不会给出结果集的正确顺序

但是如果你不添加排序字段,搜索结果的顺序会显示正确的顺序。

谁能解释一下这是什么原因?

以下是 schema.xml 文件中的一些重要标签,我认为这些标签与此处相关。

<fieldType name="alphaOnlySort" class="solr.TextField" sortMissingLast="true" omitNorms="true">
    <analyzer>
        <tokenizer class="solr.StandardTokenizerFactory"/>
        <filter class="solr.LowerCaseFilterFactory"/>
        <filter class="solr.TrimFilterFactory"/>  
    </analyzer>
</fieldType>

<dynamicField name="attr_sort_*" type="alphaOnlySort"/>

谢谢

【问题讨论】:

  • 第一个好像是排序的,而后者不是?考虑到您首先有 start=4785,返回 R/S 周围的东西似乎是合理的? ..第二个没有按字段排序,因为结果显示为按分数排序。
  • 问题是,当应用的产品名称没有按照排序正确排序时,S26 出现在第 4785 页的某处我希望首先出现该名称说 S26 结果应该显示为 S26、S26 A、S26 产品、SA 产品、SB 产品、……A 产品、B 产品、C 产品……等等。
  • 当您要求排序时,您是在告诉 Solr 忽略字段的所有分数/权重/相关性,并根据字段的顺序对文档进行排序。唯一相关的信息是是否匹配(文档在结果集中),而不是匹配的质量(这是标准搜索功能)。
  • 我不能这样吗?假设我在搜索 S26 并通过 solr 查询应用排序时具有以下产品名称(AAA、BBB、CCC、SSS、S26、SSA、ZZZ),我想要如下所示的结果。 S26,SSA,SSS,AAA,BBB,CCC,ZZZ 这可能吗?
  • 我不知道,因为排序似乎相当随意。

标签: apache magento sorting solr


【解决方案1】:

好的。我发现了这个问题。我在 schema.xml 中更改了以下内容。花费大量搜索,这是一个简单的解决方法。

schema.xml

analyzer type="query" 标签下的变化splitOnNumerics=0

   <filter class="solr.WordDelimiterFilterFactory" 
    generateWordParts="5" generateNumberParts="5" splitOnNumerics="0"
    catenateWords="5" catenateNumbers="5" catenateAll="1" 
    splitOnCaseChange="1" preserveOriginal="1" protected="protwords_en.txt"/>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多