#marklogic #marklogic-9 #marklogic-dhf
#marklogic #marklogic-9 #marklogic-dhf
Вопрос:
Версия MarkLogic: 9.0-6.2
Мое требование — включить двувременную обработку в КОНЕЧНОЙ базе данных, поэтому я создал требуемые индексы и оси диапазона файлов. Наконец, я создал временную коллекцию, как показано ниже (выполняется в конколе запросов с использованием data-hub-FINAL в качестве выбранной базы данных)
const temporal = require("/MarkLogic/temporal.xqy");
const collectionResult = temporal.collectionCreate(
"customer", "system-axes", "valid-axes");
Однако я заметил, что область действия временной коллекции распространяется и на ПРОМЕЖУТОЧНУЮ базу данных. Когда я попытался выполнить обычный xdmp.documentInsert в промежуточной базе данных, передав коллекцию ‘customer’, я получаю сообщение об ошибке, что я не могу передать имя коллекции, поскольку коллекция customer является временной.
Я обошелся, используя другое имя коллекции (customerStaging), но является ли это ожидаемым поведением temporal.collectionCreate? Есть ли способ ограничить временную коллекцию базой данных, чтобы я мог использовать ту же коллекцию, что и не временную, в других базах данных?
Пожалуйста, предложите.
Ответ №1:
Временные настройки хранятся в базе данных schemas, подключенной к базе данных контента. Похоже, вы не используете последнюю версию DHF, которая имеет отдельную базу данных final-schemas и отдельную базу данных staging-schemas. Вам лучше обновиться до последней версии, чтобы иметь возможность использовать это.
В качестве альтернативы, вы могли бы рассмотреть возможность использования общих одно-временных / двувременных коллекций и отдельных логических коллекций, таких как ‘customer’. Документ может иметь более одной коллекции.
HTH!