在我的项目中,我们要求我们维护文档的历史或版本。就像我们插入具有相同URI的文档一样,它将旧文档替换为新文档。但我们希望保留旧版本号。
我们如何在Marklogic中实现这一目标?
答案 0 :(得分:4)
MarkLogic有两个可能适合您需求的功能:文档库服务和双时态。
来自Understanding Library Services:
通过Library Services,您可以在MarkLogic Server中创建和维护托管文档的版本。使用签出/签入模型控制对托管文档的访问。 ...当您最初将文档放在“库服务”管理下时,它会创建文档的第1版。每次更新文档时,都会创建新版本的文档。根据您的保留策略保留旧版本的更新文档,如定义保留策略中所述。
来自Understanding Temporal Documents:
您可以将MarkLogic Server配置为管理和查询双时态数据。双时态文档与标记在现实世界中已知事物的有效时间和标记何时可在MarkLogic Server中发现事物的系统时间相关联。
只要需要在不同时间维度上维护事务的快照,就需要双时态数据。例如,金融和保险行业使用双时态数据,以遵守严格的监管和合规要求的方式跟踪合同,政策和事件的变化。
@grtjn指出,从MarkLogic 9开始,您还可以存储Uni-temporal documents。
单时间集合配置为存储仅包含系统时间轴的临时文档。您可以使用以下两种方式之一创建时间集合来存储系统轴:
- 元数据中的系统轴。
- 文档中的系统轴。