solr在solrconfig中设置相关性得分

时间:2017-03-07 16:54:03

标签: solr

我使用solr 4.4,我想通过相关性搜索完全匹配的单词。我有10个字段,我用过

复制字段以实现此目的。并且它的工作正常。

我对完全匹配结果有疑问应该更高的顺序。

我还能如何设定分数?

schema.xml中

 <field name="field8" type="text_search" indexed="true" stored="true"/>
    <field name="description" type="text_search" indexed="true" stored="true"/>
   <field name="keywords" type="text_search" indexed="true" stored="true"/>


 <copyField source="field8" dest="text"/>
<copyField source="description" dest="text"/>
   <copyField source="keywords" dest="text"/>

solrconfig.xml中

<requestHandler name="/browse" class="solr.SearchHandler">
     <lst name="defaults">
       <str name="echoParams">explicit</str>
<!-- Query settings -->
       <str name="defType">edismax</str>

        <str name="qf">
          field8 description keyword ^10.0
       </str> 
       <str name="df">text</str>
       <str name="mm">100%</str>
       <str name="q.alt">*:*</str>
       <str name="rows">10</str>
       <str name="fl">*,score</str>
     ........
      ........

    ........

1 个答案:

答案 0 :(得分:0)

短语字段 pf

  

使用fq识别匹配文档列表后   和qf参数,pf参数可用于“提升”分数   在q参数中的所有术语出现的情况下的文档   在附近。

例如,如果您通过将 pf 设置为标题

来搜索 Apache Solr Lucene
q=Apache Solr Lucen
& qf=title name
& pf=title

<!--Debug-->

<str name="parsedquery_toString">
+((name:apache | title:apache) (name:solr | title:solr) (name:lucene | title:lucene)) (title:"apache solr lucene")
</str>

现在,如果您查看调试响应。它正在搜索单个关键字,但也将其作为短语进行搜索。因此,它会将搜索字符串作为短语的所有搜索结果提升。

P.S:再次pf只会影响提升分数而不影响搜索结果。