2017-07-14 104 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

相關問題