我想通过对多个字段分数的加权分数求和来计算每个文档的最终分数,而不是像 edisMAx 查询解析器那样获得 MAX。
因此,如果我有三个字段;标题和描述,我希望我的最终分数是这样的:
最终得分 = w1 * title_field_score + (1-w1) * description_field_score + (1-w1 -w2) * description_field_score
其中 w1,w2 可以是 0 到 1 之间的值。
没有任何相似性的默认相似性给出了这个排名。这使用以下搜索处理程序:
<requestHandler name="/select" class="solr.SearchHandler">
<lst name="defaults">
<str name="echoParams">explicit</str>
<int name="rows">10</int>
<str name="df">detail_page_text</str>
<!-- Query settings -->
<str name="defType">edismax</str>
<str name="qf">
job_title description detail_page_text
</str>
现在通过使用下面的领带,似乎我们得到了一个理想的排名。
<str name="tie">1.0</str>
所以我的问题是使用 tie 参数是否是基于所有字段相等(或附加权重)获得加权排名分数的正确方法。
任何提示将不胜感激!干杯