Solr6查询多个内核并规范分数

时间:2017-09-08 14:00:15

标签: solr information-retrieval

我有多个共享相同结构/模式的核心(使用不同语言)。 我将相同的查询发送到每个核心并返回结果,然后将其保存到名为"结果"的新核心中。我有一个自定义q解析器插件,可以保存分数,以便结果核心可以按其他核心的分数排序。

比较不同收藏品的得分是否有意义?如果我通过除以最大分数将0到1之间的分数标准化,那么这会使得各个核心的分数与特定查询相当吗?

将分数标准化和可比较的最佳方法是什么?

显然,join命令为每个结果提供相同的分数。

谢谢。

1 个答案:

答案 0 :(得分:0)

您是否可以比较分数取决于您的排名类型。如果您基本上只有布尔字段匹配和一些字段加权而没有任何内容相似性,那么您可以比较各个核心的分数。

但是如果您使用某些内容相似性(如默认相似度),则会变得更加有效,您无法再比较核心的分数。这取决于您拥有多少数据以及您索引的文档是否在核心上分布均匀。如果分布均匀,您也可以比较分数。但是,您需要确保每个核心都有足够的数据索引,因此它在整个核心中具有代表性和相似性。

如果不是这种情况,则必须在给定查询字词的情况下查找每个核心的反向文档频率(IDF)。并使用所有IDF计算新的全局IDF并使用它来重新计算文档分数。然后你可以比较。