Marklogic cts:文档查询

时间:2013-11-22 15:53:20

标签: xquery marklogic

最近,我必须使用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的初学者,以前曾在关系数据库工作过。

谢谢,

2 个答案:

答案 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()