最近,我必须使用MarkLogic,还有一些我不理解的事情。
我不希望你澄清我对MarkLogic的所有担忧只有一个:)
有一个XQuery,我不明白它的作用。
let $pap := cts:uris(
(), (),
cts:and-query((
cts:collection-query("/pageType/collection1"),
))
)
let $collection := ("/pageType/Attachment")
return
xdmp:estimate(
cts:search(
fn:doc(),
cts:and-query((
cts:collection-query(($collection)),
cts:document-query($pap)
))
)
)
我很难理解文档查询功能的作用。
请问有人可以开导我吗?我是MarkLogic的初学者,以前曾在关系数据库工作过。谢谢,
诉P>
答案 0 :(得分:2)
不要因为不理解这一点而感到难过。它有点迟钝。并且效率低下。
如果我正确读到它正在做的是计算属于两个集合的文档数量“/ pageType / Attachement”和“/ pageType / collection1”
我相信(即使没有经过测试)这可以通过
大大简化xdmp:估计( CTS:搜索( FN:DOC(), CTS:和查询(( CTS:收集查询( “/的pagetype / collection1”), CTS:收集查询( “/的pagetype /附件”) )) ) )
答案 1 :(得分:1)
我忽略了回答你的第一个问题。此处记录了cts:document-query()
:
https://docs.marklogic.com/cts:document-query
在这种情况下,它将作为返回cts:search
的过滤器,仅包含上一个查询找到的文档cts:uris()