2017-07-14 57 views
2

我有以下代码:如何保持CTS的相关性次序:搜索结果

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:搜索返回的文档按相关性。 这两个代码都以不同的顺序返回结果。 哪个会返回正确的相关结果,为什么?

回答

3

第一个。

在第二种情况中,XPath应用于由cts:search返回的整个序列,但按照XPath标准,其结果被重新排序为文档顺序,当序列中的节点来自时,这变得不可预测不同的文件。

第一次对序列应用FLWOR迭代,以确保保持顺序,并将XPath分别应用于序列中的每个项目。

HTH!

+0

是的,这带来了很多的清晰。谢谢 – Yash

相关问题