Мы работаем с MarkLogic Data Hub Framework и загружаем документы в единую базу данных через конечную точку записи многодокументных документов REST.
Иногда мы получаем обновления документов таким образом, если они не изменились. Очевидно, что в этом случае мы не хотим добавлять эти документы в MarkLogic из-за единичного характера, который приведет к ошибочным временным меткам и ненужному пространству для хранения.
Мы написали код для обнаружения дубликатов (с использованием хеширования), однако мы не знаем, как мы можем прервать прием дублированного документа, пока обрабатываются недублированные документы в одном запросе. То есть, когда один запрос содержит как недубликаты, так и дубликаты документов, как мы можем предотвратить запись только недубликатов. В Data Hub Framework нет подключаемых модулей для изменения записи документа (так как это контролируется REST api). Мы пытались добавить fn:error()
в контент-плагин, но, к сожалению, это прерывает запись всего нескольких документов, а не только записи для тех документов, которые приводят к ошибке.