Несколько URI для одного и того же документа в MarkLogic? - PullRequest
0 голосов
/ 30 сентября 2018

При загрузке хранилища файлов в MarkLogic я понял, что в нем содержится значительное количество дубликатов документов.Например, несколько копий одного и того же документа каталога продукции ("catalog.pdf") можно найти в нескольких различных каталогах, таких как: /products/published-documents/, /sourcing/references/, /marketing/materials/.

Мне интересно, смогу ли я удалить эти дубликаты, имея несколько URI в MarkLogic, указывающих на один и тот же документ (например, символическую ссылку?).Или, возможно, есть другие подходы для достижения того же эффекта.Я рассмотрел вопрос об использовании коллекций, но у нас есть требование сохранить структуру каталогов, чтобы пользователи могли продолжать доступ к файлам через WebDAV.

1 Ответ

0 голосов
/ 01 октября 2018

Нет, это довольно низкоуровневое ограничение в MarkLogic, что документы имеют один и только один URI.Однако вы можете использовать функции модульных документов, такие как XInclude или XPointer, и заменить дублированные документы ссылкой на канонический URI.

https://docs.marklogic.com/guide/app-dev/mod-docs

Коллекции также могут быть полезны в этом сценарии, посколькуНапример, назначить канонический документ одной коллекции, а дубликаты - другой.Тогда было бы проще запрашивать только канонические документы.

Но если WebDAV является основным интерфейсом, то ни один из них не может быть подходящим, поскольку клиент WebDAV просто открыл бы мелкий документ со ссылкой URI XInclude.

Одним из возможных исключений являются разрешения.Также можно назначать различные разрешения каноническим и дублирующимся документам, чтобы пользователи WebDAV не имели доступа к дубликатам.Тогда дубликаты просто не будут перечислены ни для кого, просматривающего WebDAV.Такое поведение не совсем имитирует символическую ссылку, но оно может быть достаточно близким.

...