Marklogic 有人能解释一下计分时如何计算分数总和吗

Marklogic 有人能解释一下计分时如何计算分数总和吗,marklogic,Marklogic,我看到scoreSum用于a的qry:score公式中 scoreSum是如何计算的 <qry:score formula="(256*scoreSum/weightSum)+(256*qualityWeight*documentQuality)" computation="(256*12/1)+(256*1*0)">3072</qry:score> 有人能解释一下什么是scoreSum以及它是如何计算的吗 <qry:score formula=

我看到
scoreSum
用于a的
qry:score
公式中

scoreSum
是如何计算的

<qry:score 
  formula="(256*scoreSum/weightSum)+(256*qualityWeight*documentQuality)" 
  computation="(256*12/1)+(256*1*0)">3072</qry:score>
有人能解释一下什么是
scoreSum
以及它是如何计算的吗

<qry:score 
  formula="(256*scoreSum/weightSum)+(256*qualityWeight*documentQuality)" 
  computation="(256*12/1)+(256*1*0)">3072</qry:score>
3072

scoreSum
是您查询的所有学期分数之和。请参见以下简单示例:

xquery version "1.0-ml";

let $doc := <test>dog cat fish</test>

return xdmp:document-insert("test.xml", $doc);

for $i in cts:search(doc(), cts:word-query("dog cat fish"), "relevance-trace")
return cts:relevance-info($i)
xquery版本“1.0-ml”;
let$doc:=狗猫鱼
返回xdmp:documentinsert(“test.xml”,$doc);
对于cts:search中的$i(doc(),cts:word查询(“狗猫鱼”),“相关性跟踪”)
返回cts:相关信息($i)
这将导致以下输出:

<qry:relevance-info xmlns:qry="http://marklogic.com/cts/query">
  <qry:score formula="(256*scoreSum/weightSum)+(256*qualityWeight*documentQuality)" computation="(256*360/2)+(256*1*0)">46080</qry:score>
  <qry:confidence formula="sqrt(score/(256*8*maxlogtf*maxidf))" computation="sqrt(46080/(256*8*18*log(29)))">0.6092764</qry:confidence>
  <qry:fitness formula="sqrt(score/(256*8*maxlogtf*avgidf))" computation="sqrt(46080/(256*8*18*(5.3483/2)))">0.6836947</qry:fitness>
  <qry:uri>test.xml</qry:uri>
  <qry:path>fn:doc("test.xml")</qry:path>
  <qry:and>
    <qry:score formula="scoreSum" computation="136+224+0">360</qry:score>
    <qry:term weight="2.125">
      <qry:score formula="8*weight*logtf" computation="17*8">136</qry:score>
      <qry:key>13246596259210807488</qry:key>
      <qry:annotation>pair(word("dog"),word("cat"))</qry:annotation>
    </qry:term>
    <qry:term weight="3.5">
      <qry:score formula="8*weight*logtf" computation="28*8">224</qry:score>
      <qry:key>3660582207022472029</qry:key>
      <qry:annotation>pair(word("cat"),word("fish"))</qry:annotation>
    </qry:term>
    <qry:word>...</qry:word>
</qry:and>

46080
0.6092764
0.6836947
test.xml
fn:doc(“test.xml”)
360
136
13246596259210807488
配对(单词(“狗”)、单词(“猫”))
224
3660582207022472029
配对(单词(“猫”)、单词(“鱼”))
...
如您所见,
scoreSum
是术语得分(136+224+0)的总和(
136)
pair(单词(“狗”)、
pair(单词(“猫”)、
(单词(“鱼”)
(224)


根据数据库中的索引设置和文档,输出可能在您的环境中有所不同。此输出位于一个空数据库中,并且启用了
快速短语搜索
(这就是为什么会有成对术语)。如果只给出一个单词查询,则输出中将省略scoreSum计算,
scoreSum==您的术语得分

谢谢wagner,但我想知道logtf背后的计算,假设我们已将tf规范化设置为无标度Log。您问“scoreSum是如何计算的?”。这就是我试图回答的问题。您在最初的问题中从未提到未关闭的日志。如果你对无标度测井计算还有疑问,我宁愿打开一个专门针对它的新问题。