Lucene分数结果

在Lucene中,如果您有多个索引每个只覆盖一个分区。为什么不同索引上的相同搜索返回不同分数的结果?来自不同服务器的结果完全匹配。

即如果我搜索:

  • 名字 - 约翰史密斯
  • DOB - 11/11/1934

Partition 0 would return a score of 0.345

Partition 1 would return a score of 0.337

两者在名称和DOB上完全匹配。

0
额外 编辑
意见: 2

4 答案

我修改了我的PYTHONPATH环境变量并将我的路径拼错到了arcgisscripting.pyd,上周我收到了这个错误。

修正PYTHONPATH以包含'c:\ Program files \ ArcGIS \ Bin'(拼写正确)解决了问题。

5
额外
那么,我不得不使用arcgis \ bin路径更新exclipse配置......现在它正在运行,真的,真的很慢......但它工作正常。不知道为什么它如此缓慢,空闲编译要快得多。
额外 作者 Rex M,
为了澄清,我从一个批处理文件运行...而不是从日食。日食使用不同的python?你使用的是什么版本的ArcGIS和IDLE?
额外 作者 Jay Cummins,
你可能想检查你的eclipse配置(例如 vogella.de/articles/Python/ images/pydev06.gif ),看看你是否使用正确的版本,无论你正在使用哪个ArcGIS( wiki.gis.com/wiki/index.php/Python )。
额外 作者 Jay Cummins,
也许eclipse正在扫描arcgis \ bin(可能递归)?也许尝试将arcgisscripting.pyd移动到一个空目录并更新你的eclipse配置? (我不知道日食,所以采取我的建议w /一粒盐
额外 作者 Jay Cummins,
或者首先运行procmon.exe(SysInternals goo.gl/J5nW ),看看有没有明显的跳跃出。
额外 作者 Jay Cummins,

因为如果我没有完全弄错,评分是根据指数确定的。

如果您有不同的索引(更多/更少或索引不同的数据),分数会有所不同:

http://lucene.apache.org/core/3_6_0/scoring.html

(警告:包含数学:-))

0
额外
额外 作者 Gene T,

评分包含逆文件频率(IDF)。如果术语“John Smith”在一个分区中,则为0,100次,在分区1中为一次。搜索John Smith的分数将在分区1中搜索得更高,因为这个词更加稀缺。

为了解决这个问题,你必须让你的索引覆盖所有分区,否则你需要重写IDF。

0
额外
或者你可以从所有指数构建一个多分析器。
额外 作者 Shashikant Kore,

您也可能对 explain()方法以及生成的 Explanation object ,它会给你一个想法事情如何按照他们的方式得分。

0
额外