1

我的 MarkLogic 服务器数据库中有大约53,00,000 个文档,每个文档包含一条记录。
请告诉我如何在 MarkLogic 中获得 N 条记录。

我不想使用搜索 API。

4

3 回答 3

2

如果您只想获取数据库中的前 N ​​个文档,无论它们是什么,您都可以这样做:

(/node())[1 to $n]

假设您已经定义了一个变量 $n。如果你想使用一些搜索条件,你可以这样做:

cts:search(fn:doc(), cts:do-some-search-here())[1 to $n]
于 2012-04-05T11:20:27.583 回答
1

你只是想清点文件吗?

xdmp:estimate(doc())

请参阅http://community.marklogic.com/try/ninja/index以获得将引导您完成其中一些的教程。

于 2012-04-05T06:00:41.250 回答
1

类似于 Dave Cassel 的回答,您也可以使用:

doc()[$start to $end]

甚至更好:

collection()[$start to $end]

或者为了完全符合 XQuery:

collection()[position() = ($start to $end)]

高温高压

于 2012-04-12T05:53:49.600 回答