我有以下代码:
1)
for $song in cts:search(fn:doc(), "night")
return $song/ts:top-song/ts:title/text()
2)
cts:search(fn:doc(), "night")/ts:top-song/ts:title/text()
cts:search 根据相关性返回文档。 这两个代码都以不同的顺序返回结果。 哪个会返回具有正确相关性的结果,为什么?
最佳答案
第一个。
在第二个中,XPath 应用于 cts:search 返回的整个序列,但根据 XPath 标准,其结果将重新排序为文档顺序,当序列中的节点来自不同的位置时,这将变得不可预测文件。
第一个对序列应用 FLWOR 迭代,以确保保持顺序,并且 XPath 分别应用于序列中的每个项目。
呵呵!
关于marklogic - 如何保留cts的相关顺序:search results,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45099317/