在不使用显式循环的情况下按 cts:score 对 cts:search 结果进行排序
Sort cts:search results by cts:score without using expicit loop
我想获得 cts:search data sorted on the basis of cts:score 的结果。我正在使用以下代码 -
(
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]
有没有办法以排序的方式从 cts:search 中获取结果?
当前代码的问题是,在大数据集的情况下,它会给出 XDMP-EXPNTREECACHEFULL 错误。增加 Expanded Tree Cache 的大小不是一个选项。所以我只需要在这部分做点什么。
请提出建议。
我找到了解决方案。我们可以使用 cts:score-order option with in the cts:search
我想获得 cts:search data sorted on the basis of cts:score 的结果。我正在使用以下代码 -
(
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]
有没有办法以排序的方式从 cts:search 中获取结果?
当前代码的问题是,在大数据集的情况下,它会给出 XDMP-EXPNTREECACHEFULL 错误。增加 Expanded Tree Cache 的大小不是一个选项。所以我只需要在这部分做点什么。 请提出建议。
我找到了解决方案。我们可以使用 cts:score-order option with in the cts:search