如何保持cts的相关性顺序:搜索结果

时间:2017-07-14 09:23:54

标签: marklogic relevance cts-search

我有以下代码:

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

1 个答案:

答案 0 :(得分:3)

第一个。

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

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

HTH!