Marklogic搜索查询

时间:2012-02-09 00:53:31

标签: marklogic

我是marklogic的新手。任何人都可以请我提供一个脚本来获取文档的文档名称和XML文件内容,还可以通过传递属性值来上传/创建时间戳。

2 个答案:

答案 0 :(得分:3)

这个问题很难理解。 MarkLogic中的文档由URI标识,而不是名称。如果你知道URI,那就做吧

doc($uri) 

获取内容。文档的最后修改时间存储为文档属性,您可以使用XPath属性轴(如

)获取该属性
doc($uri)/property::*:last-modified/string()

还有其他方法可以获取文档属性,例如xdmp:document-properties() api调用。

答案 1 :(得分:2)

除了@ eric-bloch的答案之外,如果您进行了搜索,则可以使用fn:base-uri()xdmp:node-uri()来确定uri。例如:

for $d in cts:search(doc(), cts:and-query(()))[1 to 10]
return fn:base-uri($d)

注意:空的查询是获取所有文档的一个小技巧。 1到10个谓词确保您不会立即返回整个数据库,而只返回前十个。如果您要在最后修改的属性上添加订单,则可以通过这种方式获取十个最旧或最新的文档。