Xquery Marklogic:搜索、分数计算报告

Xquery Marklogic:搜索、分数计算报告,xquery,marklogic,Xquery,Marklogic,我试图找出某些文档在某些关键字搜索中的排名结果 我正在使用Marklogic的/Marklogic/appservices/search,并已将相关性跟踪和返回计划设置为true 我得到的结果如下: <qry:or> <qry:score formula="scoreSum" computation="507+507+507+507+507+507+507+8151+507+2358+2358+9096">26019</qry:score>

我试图找出某些文档在某些关键字搜索中的排名结果

我正在使用Marklogic的/Marklogic/appservices/search,并已将相关性跟踪和返回计划设置为true

我得到的结果如下:

<qry:or>
      <qry:score formula="scoreSum" computation="507+507+507+507+507+507+507+8151+507+2358+2358+9096">26019</qry:score>
      <qry:term weight="4.875">
        <qry:score formula="8*weight*logtf" computation="39*13">507</qry:score>
        <qry:key>18088380461678133729</qry:key>
        <qry:annotation>word("Marketing")</qry:annotation>
      </qry:term>
.
.
.
<qry:term weight="142.125">
        <qry:score formula="8*weight*logtf" computation="1137*8">9096</qry:score>
        <qry:key>17170145643344834189</qry:key>
        <qry:annotation>element(http://<removed this>/resolved:description,word("Marketing"))</qry:annotation>
      </qry:term>

26019
507
18088380461678133729
“营销”一词
.
.
.
9096
17170145643344834189
元素(http:///resolved:description,一词(“营销”))
我想弄清楚的是,qry:termweight=“142.125”是如何计算的?我知道我可以衡量一个文档的质量,一个术语的质量,文档上有一个质量分数。这是如何计算的

我在文档中没有看到任何关于权重属性的内容,更多的是关于分数计算的内容

谢谢

我发现了这个问题,以下是我认为是问题的相关部分:

cts:and-query((cts:registered-query(13876289435580202480, ("unfiltered"), 1), 
        cts:or-query((cts:element-word-query(fn:QName("http://<removed>/resolved","<removed>AuthorLastName"), "Mcconnell", ("case-insensitive","diacritic-insensitive","punctuation-insensitive","lang=en"), 16), 
            cts:near-query(cts:and-query(cts:word-query("Mcconnell", ("case-insensitive","diacritic-insensitive","punctuation-insensitive","lang=en"), 1), ()), 2, ("ordered"), 1), 
            cts:element-word-query(fn:QName("http://<removed>/resolved","keyword"), "Mcconnell", ("case-insensitive","diacritic-insensitive","punctuation-insensitive","lang=en"), 14), 
            cts:near-query(cts:and-query(cts:word-query("Mcconnell", ("case-insensitive","diacritic-insensitive","punctuation-insensitive","lang=en"), 1), ()), 2, ("ordered"), 1), 
cts:and查询((cts:registered query(1387628945580202480,(“未过滤”),1),
cts:或查询((cts:元素词查询http:///resolved“,”AuthorLastName“,”Mcconnell“,”(“不区分大小写”,“不区分重音”,“不区分标点”,“lang=en”),16),
cts:near-query(cts:and-query)(cts:word查询(“Mcconnell”),(“不区分大小写”,“不区分重音”,“不区分标点”,“lang=en”),1),()),2,(“ordered”),1),
元素词查询(fn:QName(“http:///resolved“,”关键字“,”麦康奈尔“,”不区分大小写“,”不区分重音“,”不区分标点“,”lang=en“,”14),
cts:near-query(cts:and-query)(cts:word查询(“Mcconnell”),(“不区分大小写”,“不区分重音”,“不区分标点”,“lang=en”),1),()),2,(“ordered”),1),
这是连接到元素词查询的分数摘要的一部分

<qry:term weight="184.625">
<qry:score formula="8*weight*logtf" computation="1477*3">4431
</qry:score>
<qry:key>6578622261224561690
</qry:key>
<qry:annotation>element(http://<removed>/resolved:AuthorLastName,word("Mcconnell"))
</qry:annotation>
</qry:term>

4431
6578622261224561690
元素(http:///resolved:AuthorLastName,字(“麦康奈尔”))

我看到16是我们的代码注入到元素词查询中的权重。我仍然不知道184.625的值。我知道我可以通过增加16来处理这个184.625,但这是如何计算的?

在这里发布查询,它可能会有帮助查询上的“权重”是权重*logtf(除以8)的缩放.So 142.125=1137/8