排序cts:按cts搜索结果:得分而不使用expicit循环

Ank*_*waj 3 marklogic marklogic-8

我想获得cts的结果:搜索数据基于cts:得分排序.我正在使用以下代码 -

(
        if ($direction = "descending")
        then
            for $result in cts:search (...)
            order by cts:score($result) descending
            return $result/element()
        else
            for $result in cts:search (...)
            order by cts:score($result) ascending
            return $result/element()
    )[$first-result to $last-result]
Run Code Online (Sandbox Code Playgroud)

有没有办法从cts获得结果:以有条件的方式搜索

当前代码的问题在于,在大数据集的情况下,它会产生XDMP-EXPNTREECACHEFULL错误.不能增加扩展树缓存的大小.所以我只需要在这部分做一些事情.建议请.

Ank*_*waj 7

我得到了解决方案.我们可以在cts:search中使用cts:score-order选项