有没有一种方法可以更新MarkLogic-8在Marklogic-9中摄入的双中心文档?目前,时态更新apis只适用于在ML-9或更高版本中摄入的文档。请建议一下。正在生成以下错误:
元数据TemporalDocURI未找到。时态节点更新内置仅适用于用ML9或更高版本的创建的时态文档。
发布于 2018-06-27 13:59:36
为了升级它们,只需在它们上使用时间:文件-插入运行ML9即可。您应该能够做到这一点,而无需对文档内容进行任何更改以进行“干净”升级。
发布于 2018-07-04 07:49:55
为了使ML-8双时态文档在ML-9中可更新,我们需要在要更新的现有文档URI中添加新的元数据"temporalDocURI“。
样本代码:
let $uri := "/documents/test.xml"
return xdmp:document-put-metadata(
$uri,map:map(<map:map xmlns:map="http://marklogic.com/xdmp/map">
<map:entry key="temporalDocURI">
<map:value>{$uri}</map:value>
</map:entry>
</map:map>))一旦将元数据添加到我们要更新的双通道文档中,用于节点更新或插入的临时apis将适用于在ML-9之前插入的所有文档。
为了使‘xdmp: document -put-’API能够处理时态文档,它将需要对时态文档所属的时态集合重写特权,如果进行更改的用户不是管理用户,则需要为用户添加粒度执行特权,然后执行‘xdmp:document-put-’。
https://stackoverflow.com/questions/51064536
复制相似问题