我有一個包含大量文檔的集合。如何從Marklogic中的cts:search()獲取所有匹配結果
當我搜索集合時,我需要獲取獨立於文檔的匹配列表。所以如果我搜索單詞「pie
」。我會找回一份文件清單,按照相關性妥善排序。但是,其中一些文件在多個地方包含「pie
」這個詞。我想找回所有匹配的列表,與找到匹配的文檔無關。此外,所有匹配的這個列表將需要按照相關性(權重)進行排序,再次完全獨立於文檔(未由文檔分組)。
下面的代碼搜索和匹配返回由文檔分組...
let $searchfor := "pie"
let $query := cts:and-query((
cts:element-word-query(xs:QName("title"), ($searchfor),(), 16),
cts:element-word-query(xs:QName("para"), ($searchfor),(), 10)
))
let $resultset := cts:search(fn:collection("docs"), $query)[0 to 100]
for $n in $resultset
return cts:score($n)
我需要的是$n
是 「match-node
」,而不是 「document-nod
E」 ......
謝謝!
請幫我理解此搜索的用例。您是否希望返回對最相關的段落,頁面,章節的引用?該文檔的哪個節點包含