首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >理解Solr Doc=

理解Solr Doc=
EN

Stack Overflow用户
提问于 2015-09-10 19:32:47
回答 1查看 311关注 0票数 3

我有两个索引文档,我试图找出为什么一个比另一个高的相关性。为了得到解释,我运行了DebugQuery=True。以下是这两份文件的相关差异。

两种不同类型的文件

这可能是相关的;文档有两种不同的类型,我使用*_s字段进行区分。因此,我的字段module_s有两个模块1和2。

代码语言:javascript
复制
<arr name="filter_queries">
    <str>moduleid_s:(1 OR 2)</str>
</arr>

所以我不认为这会引起问题,但我想添加这个信息。

相关的解释不同之处:

文档1-模块类型= 1

代码语言:javascript
复制
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

代码语言:javascript
复制
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。有人能解释一下这个号码是什么吗?从哪来的?为什么不一样?

资源使用

  • http://blog.thedigitalgroup.com/dattatrayap/2015/06/12/understanding-solr-explain/
  • http://www.openjems.com/solr-lucene-score-tutorial/
  • http://explain.solr.pl/
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-10 20:07:51

那个号码是博士。它唯一标识要从索引中检索的文档。这绝对与得分无关。

真正的得分差异在于现场规范:

  • 文件1:0.5 = fieldNorm
  • 文件2:0.21875 = fieldNorm

fieldNorm是根据两个数字计算的。文档索引时对字段的提升,以及字段的长度(更精确的描述可以在TFIDFSimilarity文档中关于TFIDFSimilarity文档的章节中找到)

所以,要么该字段在文档1中更短,要么在文档1中索引时它得到了更大的提升。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32510216

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档