在 MarkLogic 中从多个集合中搜索和检索?

Search and retrieve from multiple Collection in MarkLogic?

如果我愿意,如何修复以下代码 指定多个集合? (比如 'pdf' 和 'systemA')

for $doc in fn:collection("pdf")

如果您想获取 "A""B" 集合中的文档。在 MarkLogic 中,您可以传递多个 URI:fn:collection(("A","B"))。如果您想要同时在 "A""B" 集合中的文档,您要么必须将此作为搜索

cts:search(doc(), 
  cts:and-query((cts:collection-query("A"),cts:collection-query("B")),"unfiltered")

或手动设置交点

let $as := fn:collection("A")
return fn:collection("B")[not(. is $as)]

搜索效率会更高,因为它可以使用索引来解析。