MarkLogic 中同一文档的多个 URI?
Multiple URIs for a same document in MarkLogic?
在将文件存储库加载到 MarkLogic 中时,我意识到它包含大量重复文档。例如,相同 产品目录文档 ("catalog.pdf") 的多个副本可能会在几个不同的目录中找到,例如:/products/published-documents/
、/sourcing/references/
、 /marketing/materials/
.
我想知道是否可以通过在 MarkLogic 中使多个 URI 指向同一个文档(例如符号链接?)来删除这些重复项。或者也许还有其他方法可以达到相同的效果。我考虑过使用集合,但我们确实需要保留目录结构,以便用户可以继续通过 WebDAV 访问文件。
不,在 MarkLogic 中文档只有一个 URI 是一个相当低级的约束。但是,您可以使用 XInclude 或 XPointer 等模块化文档功能,并将重复的文档替换为对规范 URI 的引用。
https://docs.marklogic.com/guide/app-dev/mod-docs
集合在这种情况下也可能有帮助,例如,将规范文档分配给一个集合,将副本分配给另一个集合。那么只查询规范文档会更简单。
但如果 WebDAV 是主要接口,则两者都可能不合适,因为 WebDAV 客户端只会使用 XInclude URI 引用打开浅文档。
一个可能的例外是通过权限。也可以为规范文档和重复文档分配不同的权限,这样 WebDAV 用户就无法访问重复文档。这样一来,任何浏览 WebDAV 的人都不会列出重复项。这种行为并不能完美地模仿符号链接,但它可能足够接近了。
在将文件存储库加载到 MarkLogic 中时,我意识到它包含大量重复文档。例如,相同 产品目录文档 ("catalog.pdf") 的多个副本可能会在几个不同的目录中找到,例如:/products/published-documents/
、/sourcing/references/
、 /marketing/materials/
.
我想知道是否可以通过在 MarkLogic 中使多个 URI 指向同一个文档(例如符号链接?)来删除这些重复项。或者也许还有其他方法可以达到相同的效果。我考虑过使用集合,但我们确实需要保留目录结构,以便用户可以继续通过 WebDAV 访问文件。
不,在 MarkLogic 中文档只有一个 URI 是一个相当低级的约束。但是,您可以使用 XInclude 或 XPointer 等模块化文档功能,并将重复的文档替换为对规范 URI 的引用。
https://docs.marklogic.com/guide/app-dev/mod-docs
集合在这种情况下也可能有帮助,例如,将规范文档分配给一个集合,将副本分配给另一个集合。那么只查询规范文档会更简单。
但如果 WebDAV 是主要接口,则两者都可能不合适,因为 WebDAV 客户端只会使用 XInclude URI 引用打开浅文档。
一个可能的例外是通过权限。也可以为规范文档和重复文档分配不同的权限,这样 WebDAV 用户就无法访问重复文档。这样一来,任何浏览 WebDAV 的人都不会列出重复项。这种行为并不能完美地模仿符号链接,但它可能足够接近了。