我正在使用 marklogic dls 来管理文档版本和备份。虽然我用 dls 做了一些实际测试,但仍有一些概念我不清楚。
为了更好地解释这个问题,我在 https://docs.marklogic.com/guide/app-dev/dls 中遵循完全相同的测试用例来创建 /engineering/beta_overview.xml 示例数据内容数据库这是我通过 qconsole 浏览时的样子。
这是我从 qconsole 查询时数据库中的保留规则。
这是我如何构建保留规则的 xqy 代码。
问题
如果数据库中没有定义保留规则会怎样? DLS 还会正常工作吗?
保留规则存储在哪里?有没有办法为所有 ML 内容数据库定义保留规则?或者保留规则是每个内容数据库级别?
如果同一个文档有多个保留规则,基本上最“宽松”的版本将适用。换句话说,保留最多版本副本的版本将被应用。这是“或”覆盖。我说得对吗?
为什么查询
dls:retention-rules("*")
时看不到原来的保留查询?它似乎被一些 cts:key 取代了。如何查看密钥的真正含义?
(随着时间的推移,我们可能会忘记保留规则。人们可能会从数据库查询以查看它的实际内容。)
是否可以通过 gradle 定义保留规则?有什么例子吗?
文件列表中那些空文件(1)是什么?如何清理这些? 我了解 (2) 是不同版本文件的实际备份副本。 当前副本是 (3).
或者那些 (1) 不能被清除,因为它们是空的并且不占用空间?我迷失了这个概念。
因为规则仅定义了 2 天的持续时间。何时以及如何删除(2)部分的备份?我必须运行
dls:purge
命令吗?
dls:purge 中的 retain-history 参数是什么?用例是什么?