我有两个索引文档,我试图找出为什么一个比另一个高的相关性。为了得到解释,我运行了DebugQuery=True。以下是这两份文件的相关差异。
两种不同类型的文件
这可能是相关的;文档有两种不同的类型,我使用*_s字段进行区分。因此,我的字段module_s有两个模块1和2。
<arr name="filter_queries">
<str>moduleid_s:(1 OR 2)</str>
</arr>所以我不认为这会引起问题,但我想添加这个信息。
相关的解释不同之处:
文档1-模块类型= 1
result of: 1.7325882 = score(doc=3513280,freq=1.0),
product of: 0.44456035 = queryWeight,
product of: 0.5 = boost 7.7946143 = idf(docFreq=5286,maxDocs=4721423) 0.1140686 = queryNorm 3.8973072 = fieldWeight in 3513280,
product of: 1.0 = tf(freq=1.0), with freq of: 1.0 = termFreq=1.0 7.7946143 = idf(docFreq=5286, maxDocs=4721423) 0.5 = fieldNorm(doc=3513280) 文档2-模块类型= 2
result of: 0.75800735 = score(doc=174,freq=1.0),
product of: 0.44456035 = queryWeight,
product of: 0.5 = boost 7.7946143 = idf(docFreq=5286,maxDocs=4721423) 0.1140686 = queryNorm 1.7050719 = fieldWeight in 174,
product of: 1.0 = tf(freq=1.0), with freq of: 1.0 = termFreq=1.0 7.7946143 = idf(docFreq=5286, maxDocs=4721423) 0.21875 = fieldNorm(doc=174) 概要和问题
正如你所看到的,解释几乎是一样的。他们都有相同的queryWeight,boost,以色列国防军和queryNorm。不同的是,doc=XXX。对于文档1,它是351328,而文档2是174。有人能解释一下这个号码是什么吗?从哪来的?为什么不一样?
资源使用
发布于 2015-09-10 20:07:51
那个号码是博士。它唯一标识要从索引中检索的文档。这绝对与得分无关。
真正的得分差异在于现场规范:
0.5 = fieldNorm0.21875 = fieldNormfieldNorm是根据两个数字计算的。文档索引时对字段的提升,以及字段的长度(更精确的描述可以在TFIDFSimilarity文档中关于TFIDFSimilarity文档的章节中找到)
所以,要么该字段在文档1中更短,要么在文档1中索引时它得到了更大的提升。
https://stackoverflow.com/questions/32510216
复制相似问题