marklogic - 如何在marklogic服务器中编写保留策略以将当前版本与其旧版本分离到不同的集合中?

标签 marklogic

我一直在尝试使用 Marklogic dls:retention-rule 编写保留策略。问题是 dls:retention-rule 提供了保留版本或删除的选项,在我的例子中,我想保留旧版本但在不同的集合中。假设某个文档有 5 个旧版本。我希望 5 个旧版本位于 collection1 中,当前版本位于 collection2 中。

如何使用保留策略实现此目的。如果没有保留政策还有其他方法吗?

最佳答案

正如您已经发现的,保留策略仅管理文档保留。

在我看来,您可以编写一个 CPF 管道来完成您想要的操作。在管道中,您将检查属性 dls:version-id 以查看要在文档上设置哪些集合。该管道将​​绕过 DLS 功能直接更新文档集合。

http://docs.marklogic.com/5.0doc/docapp.xqy#display.xqy?fname=http%3a//pubs/5.0doc/xml/cpf/title.xml有关于 CPF 和自定义管道的文档。

关于marklogic - 如何在marklogic服务器中编写保留策略以将当前版本与其旧版本分离到不同的集合中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12155856/

相关文章:

xquery - 如何从查询id中获取查询?

每个集合的 MarkLogic 数据库大小

marklogic - 是否可以在没有管理员角色的情况下在 MarkLogic 9 上使用 ml-gradle?

javascript - 在 MarkLogic 中使用 REST API 搜索调用仅提取部分 JSON 文档

MarkLogic 转换搜索结果选项元数据片段

marklogic - 使用 cts :field-values 计算的存储桶

sorting - 如何为 SPARQL 查询设置排序规则?

javascript - 如何在 MarkLogic Javascript 中复制和修改文档?

java - 如何通过 Spring Security 和 MarkLogic 的 Java 客户端 API 对用户进行身份验证?

marklogic - 如何保留cts的相关顺序:search results