Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Lucene多重索引:规范文档分数?_C#_Lucene - Fatal编程技术网

C# Lucene多重索引:规范文档分数?

C# Lucene多重索引:规范文档分数?,c#,lucene,C#,Lucene,假设我在几台PC上有多个lucene索引(不是副本) 我查询每个索引,然后合并结果。 有没有办法使文档分数正常化,以便我可以按分数排序(相关性) 我的意思是,索引A中的文档A的分数将无法与索引B中的文档B进行比较,除非我进行某种规格化。。。。不是吗 谢谢 Roey首先,研究。在所有这些因素中,唯一不同于一个指数的因素是指数 我建议您使用或调试器来查看不同索引的IDF的影响。 你可能会发现,这只是一个很小的影响 这里是,这里是。我相信这个问题还没有解决 Lucene评分不适合简单的标准化。我建议您

假设我在几台PC上有多个lucene索引(不是副本)

我查询每个索引,然后合并结果。 有没有办法使文档分数正常化,以便我可以按分数排序(相关性)

我的意思是,索引A中的文档A的分数将无法与索引B中的文档B进行比较,除非我进行某种规格化。。。。不是吗

谢谢 Roey

首先,研究。在所有这些因素中,唯一不同于一个指数的因素是指数

我建议您使用或调试器来查看不同索引的IDF的影响。 你可能会发现,这只是一个很小的影响

这里是,这里是。我相信这个问题还没有解决


Lucene评分不适合简单的标准化。我建议您尝试将文档分布尽可能随机,然后比较两个索引中的命中率排名。

用于比较索引X和Y中文档A的得分。我计算索引X中搜索命中的任何文档的
X=得分(A,X)/max得分
Y=得分(A,Y)/Y索引上搜索成功的任何文档的最大得分

x和y现在都在0和1之间。只要加上x和y就可以得到最后的分数

这是一种幼稚的做法。我想听听你对此的意见


但我不明白你为什么要添加两个不同文档的分数。用例?

+1随机分发文档。你必须确保这确实是一个问题。在大多数情况下,索引之间不同的DF值不会真正伤害你。我意识到这是一个古老的答案,但只是让你知道一些链接是有用的broken@AndyMcCluggage-我已将断开的链接更新到当前Lucene版本。这应该给你一年左右的时间,直到Lucene版本取代当前版本。我相信你误解了这个问题。问题是如何规范化结果集的分数,这对于在一系列索引中执行搜索和显示最相关的结果非常有用。值得关注的是,每个指标的内容都会影响结果的评分。如果索引X的关键字“motorcycle”频率较低,则可能会对包含该关键字的文档进行高分。当对索引Y合并相同的搜索时,比如说索引Y的关键字频率很高,来自X的文档可能比来自Y的可能更相关的文档得分更高。