【发布时间】:2015-03-14 21:25:49
【问题描述】:
我有一个大型 ML 数据库设置(大约 40,000 个)不同的 XML 文件,需要从所有文件中获取唯一关键字元素的列表,其中每个文件有多个。
我使用了几个查询,每个都返回一个不同的问题
for $doc in (cts:search(fn:collection(), cts:element-query(xs:QName("kwd"),())))
return fn:distinct-values($doc/article/.../kwd/string())
扩展树缓存已满
for $doc in fn:distinct-values(cts:search(/article/.../kwd, cts:element-query(xs:QName(()),())))
return $doc
这将返回一个唯一结果列表,但需要一个永恒的时间来加载并在输出前加上“xs:UntypedAtomic(...”。在返回查询中使用 string() 表示“这不是一个节点”
我怎样才能让它工作?
【问题讨论】:
-
kwd 是否位于您在 range-index 设置中指定的名称空间之外?你能发布一个xml sn-p吗?
-
BTW
cts:element-query(xs:QName("kwd"),())将返回空序列。你可能想要cts:element-query(xs:QName("kwd"), cts:and-query(()))。
标签: xpath xquery marklogic nosql