Solr:有没有办法消除Norm对一个场的负提升
本文关键字:一个 有没有 Norm Solr | 更新日期: 2023-09-27 18:27:40
我正在使用Solr搜索事件文档。每个事件都有一个标题、一个位置以及一些其他字段。配置如下:
t_name^4 t_speakers^3 t_location^2 t_openTo^1 t_sponsors^1
因此标题匹配优先于位置匹配。大多数时候这是有效的。然而,具有长标题的匹配结果通常在具有精确位置匹配的结果之后返回。例如,如果我搜索波士顿,我的第一个结果是"{标题:MBA之旅},{地点:波士顿}",而我的第二个结果是:"{名称:承包对地下煤矿工伤和死亡的影响,Marric Buessing,波士顿大学},{地点:null}"。我想先和波士顿队取得冠军。
我敢肯定,MBA巡回赛之所以首先回归,是因为领域Norm,Solr对包含大量术语的领域的负面推动。尽管Location的提升率低于Title,但Location=Boston的精确匹配最终的得分高于Title={超长标题+波士顿}。
有没有办法在我的Solr配置中,或者在我传递给Solr的查询字符串中,否定或删除fieldNorm负提升?或者有没有其他方法可以在不改变标题提升的情况下首先获得标题结果?增加提升可能会产生一些效果,但我不能保证标题长度有任何限制,所以标题的提升现在可能总是足以否定fieldNorm。
您可以通过将omitNorms="true"
应用于字段定义来禁用字段的范数提升。这也将禁用该字段的索引时间提升,但除非您确实对该字段使用了索引时间提升。完成此操作后,您希望重新索引。
参见省略规范和#9355320。