将控制台上的 uris 输出保存到文件系统

save uris output on console to file system

如何将 qconsole 的结果保存到输出文件。 output.txt 将在下面的每一行中具有名称 uri。我有超过一千份文件。

 Caltech.xml
 CGU.xml
 GMU.xml
 Hopkins.xml
 Georgetown.xml
 ....

let $uris:= cts:uris(
        (),
        (),
        cts:and-query(( cts:collection-query("/Universities/")))

    )

let $quote:=
   for $u in $uris
   return 
       fn:substring-after($u,"/Universities/")

let $output:=
text {
fn:concat(
    fn:string-join(($quote),","),
    "
"
 )

}  
return xdmp:save(fn:concat("/09122018/output.txt") ,$output) 

您可以使用 xdmp:save 将文件写入 MarkLogic Server 正在使用的文件系统。

对于 QConsole 无法处理的数据集,我建议您查看 CORB

不要通过字符串连接和连接来创建一个大字符串。相反,将多个字符串作为文本节点提交,包裹在您传递给 xdmp:save 的文档节点中。您可以通过这种方式轻松处理几百万份文档(前提是您愿意等待一分钟)。另见:

如果您需要超出此范围,请按照 Rob 的建议查看 Corb2

喂!