【问题标题】:Solr score is not sorted correctlySolr 分数未正确排序
【发布时间】:2014-10-15 09:01:35
【问题描述】:

分数排序不再正确。

文本字段设置:

<!-- Danish -->
    <fieldType name="text_da" class="solr.TextField" positionIncrementGap="100">
      <analyzer type="index">
        <tokenizer class="solr.StandardTokenizerFactory"/>
        <filter class="solr.LowerCaseFilterFactory"/>
        <filter class="solr.SnowballPorterFilterFactory" language="Danish"/>
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="lang/stopwords_da.txt" format="snowball" /> 
      </analyzer>
      <analyzer type="query">
        <tokenizer class="solr.StandardTokenizerFactory"/>    
        <filter class="solr.LowerCaseFilterFactory"/>       
        <filter class="solr.SnowballPorterFilterFactory" language="Danish"/>
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="lang/stopwords_da.txt" format="snowball" />     
        <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true" />
      </analyzer>
    </fieldType>

处理程序:

<requestHandler name="/solarquery" class="solr.SearchHandler">
     <lst name="defaults">
       <str name="echoParams">all</str>
       <str name="wt">json</str>
       <str name="indent">true</str>
       <str name="df">text</str>
       <!-- Query settings -->
       <str name="defType">edismax</str>
       <str name="mm">100%</str>
       <str name="q.alt">*:*</str>
       <str name="rows">10</str>
       <str name="fl">*,score</str>
       <str name="facet">on</str>
       <int name="facet.limit">10</int>
       <int name="facet.mincount">1</int>
       <str name="facet.field">category</str>
       <str name="facet.field">brand_exact</str>
       <str name="facet.field">articletype</str>
       <str name="facet.field">oncw</str>
       <str name="facet.field">concepts</str>
       <str name="facet.field">features</str>
     </lst>
     <arr name="last-components">
      <str>elevator</str>
    </arr>
  </requestHandler>

当我运行如下基本查询时:solarquery?q=toilet&wt=json&sort=score desc&indent=true&debugQuery=true

分数排序不正确:

(MATCH) sum of:\n  2.6150227 =,...
(MATCH) sum of:\n  3.1380272 =,...
(MATCH) sum of:\n  3.1380272 =,...
(MATCH) sum of:\n  3.1380272 =,...
(MATCH) sum of:\n  3.1380272 =,...
(MATCH) sum of:\n  2.9585605 =,...
(MATCH) sum of:\n  2.9585605 =,...
(MATCH) sum of:\n  2.9585605 =,...
(MATCH) sum of:\n  2.9585605 =,...
(MATCH) sum of:\n  2.9585605 =,...

我认为问题与处理程序有关,但我不知道问题是什么?

Rgds 雷夫

【问题讨论】:

    标签: sorting solr


    【解决方案1】:
    • 检查您的查询提升文件,也许第一个文档包含在elevate.xml 文件中。如果您想尝试不使用电梯组件,看看它是否有所作为,那也是一个很好的测试。

    • 您也不必提及 sort=score desc,因为这是默认行为。

    【讨论】:

    • 您对提升文件绝对正确,它确实包含与排序不匹配的顶级文档。非常感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-28
    • 2018-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多