cts中的多个节点:类似查询

时间:2018-03-15 18:33:39

标签: marklogic

我假设当我在cts中包含多个节点时:类似查询,最多"相关"将选择能够回馈新节点的条款,这些节点最像是"所有传入的节点 - 某种最独特的"术语"来自所有节点(即,需要什么"术语"才能使节点成为最佳答案)。因此,您添加的节点越多,结果就越不可能"关闭"到任何一个节点?

此外,我认为这与我接受节点并创建单独的cts不同:对每个节点进行类似查询并在提交搜索之前将它们一起进行AND运算?

如果我在提交搜索之前将它们组合在一起也是不同的呢?

ANDing会给出更少,更精确的结果,其中只有多个cts之间的重叠:类似查询结果,而ORing可能会提升相交结果,仍然可以用足够高的类似查询得分来超过?< / p>

1 个答案:

答案 0 :(得分:3)

cts:similar-query实际上采用前N个(默认为16个)术语并构造一个or-query。正如你所说,就像从cts:distinctive-terms那样取得结果。 &#34;顶&#34;由评分决定,默认情况下是评分,因此目标节点内的频率和整个数据库中的相对频率都会发挥作用。

术语池由输入节点确定。如果您有多个节点,则可能是顶级术语不在其中一个节点中。此外,术语频率将是不同的,因为它是所有输入节点的总和,因此得分将不同,这可能会影响选择哪些术语。

在一个cts:similar-query调用中使用一个文档池意味着强异常值可能会使结果偏离原型文档,但这也意味着捕获池中的更多差异。我避免使用一系列与您关注的方式不相似的文档,但如果您想要平衡微小的变化,它会很有用。我怀疑它对于提供较小术语池的较小文档更有用。