如何修改Marklogic 7.0中的相关性?

时间:2014-05-28 05:33:53

标签: marklogic

我是Marklogic的新手。我从官方网站上查看了Marklogic的文件。

我被困在一个地方。我们知道marklogic会以相关形式给出结果,但如果我想修改这种相关格式,或者可能根据需要添加/删除一些内容,我会做谁?

提供的教程给出了相关性细节,但没有给出如何修改它。

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:4)

Chapter 8 of the Search Developer's Guide谈论了相关性以及如何调整它。一般而言,MarkLogic Server中的评分理念是我们拥有统一的层次评分模型而不是线性排名评分模型。因此,一般情况下,如果您想方设法对您认为重要的因素进行加权,那么您将更好地使用该平台,因此它们自然会升级到您想要的排序位置。

如果您可以访问用户会议演示文稿的录制内容,则搜索谈话将总结许多与相关性相关的功能以及使用它们的直觉/权衡。

答案 1 :(得分:0)

你无法真正影响评分公式本身。 MarkLogic有一些标准计算方法,但默认计算方法通常是最好的。但是,您可以通过以下几种方式影响相关性排名:

  1. 应用不同的文档质量
  2. 将权重应用于子查询
  3. 使用boost-query
  4. 第一个很简单,但不是很灵活。只需在插入时指定不同的文档质量编号。正数将增加相关性得分,负数将减少相关性得分。另请参阅https://docs.marklogic.com/xdmp:document-insert

    第二个也不是很复杂。它非常灵活,因为您可以通过这种方式影响运行时的相关性排名。它确实需要了解正在执行的查询,并明确地将权重分配给特定的子查询。您可以为大多数查询元素提供数字权重,通常作为最后一个参数之一。例如,请参阅https://docs.marklogic.com/cts:word-query。使用结构化查询时,您可以将其与搜索:搜索和REST api搜索结合使用。

    第三个也非常灵活,并且需要更少的关于您正在解雇的实际查询的知识。它允许您在运行时提高特定结果。例如,提升最近的结果,或者提升包含特定术语的结果。包裹你&匹配'在boost-query内查询,并提供将导致提升的单独查询。另请参阅https://docs.marklogic.com/cts:boost-query

    Mike提到的搜索开发指南也包含很多很好的例子,包括最近的文档:https://docs.marklogic.com/guide/search-dev/relevance#id_99540。您可以直接使用这些查询,也可以在提升查询中使用这些查询作为“提升”。部分,取决于您是否希望增强也限制搜索结果..

    HTH!