如何保留 cts:search 个结果的相关顺序
How to preserve relevance order of cts:search results
我有以下代码:
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:根据相关性搜索 returns 文档。
这两个代码 return 导致不同的顺序。
return 哪个结果具有正确的相关性,为什么?
第一个。
在第二种情况下,XPath 应用于 cts:search 返回的整个序列,但根据 XPath 标准,其结果被重新排序为文档顺序,当节点在序列来自不同的文档。
首先对序列应用 FLWOR 迭代,以确保保持顺序,并将 XPath 分别应用于序列中的每个项目。
HTH!
我有以下代码:
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:根据相关性搜索 returns 文档。 这两个代码 return 导致不同的顺序。 return 哪个结果具有正确的相关性,为什么?
第一个。
在第二种情况下,XPath 应用于 cts:search 返回的整个序列,但根据 XPath 标准,其结果被重新排序为文档顺序,当节点在序列来自不同的文档。
首先对序列应用 FLWOR 迭代,以确保保持顺序,并将 XPath 分别应用于序列中的每个项目。
HTH!