Solr 5 - 禁用idf评分

时间:2016-04-29 12:16:07

标签: solr lucene solr5

我正在使用SOLR 5.5.0,并注意到有关评分的不良行为。

搜索索引适用于person,其中包含givenName和surName的字段。我将givenName加权比surName高一些,但对于某些查询,surName的命中权重高于givenName的命中。这是因为idf-weighting。

例如,考虑搜索字符串“James”。关于我对givenName的权重高于surName,我认为给定名称“James”的命中位于结果的顶部,而surName“James”的命中排名较低。但是,如果有1000名具有givenName“James”的人,并且只有10人拥有surName“James”,则后者将因idf而获得最高分。

有没有办法在solr中禁用idf?我所能找到的只是覆盖DefaultSimilarity,但我不知道如何使用我的xml配置来做到这一点,同样在lucene-5.5.0中不推荐使用该类。

1 个答案:

答案 0 :(得分:0)

你可能并不想真正禁用 idf ,因为搜索[James Garfield]不会认识到#34; Garfield"比詹姆斯和#34;因此应该单独得分(比单独的詹姆斯)。

我认为你要求的是两个领域之间的组合idf。最简单的方法是创建第三个fullName字段进行搜索。

在您的示例中," James"的文档频率在fullName中将是1010,并且无论givenName = James vs surName = James,匹配都将得分。

相关问题