Я выполняю поиск в методе логики с помощью JsonDocumentManager, предоставляя определение StructuredQuery. В результате я получаю DocumentPage, deafults до 50 записей (длина страницы по умолчанию в JsonDocumentManager). Но я хочу сдать все документы за один раз?Устанавливает разбиение на страницы при поиске документов в marklogic по заданным критериям
Здесь я могу найти два варианта: либо увеличить длину страницы до предела, который не может быть превышен для критериев, которые я поставляю, либо путем предоставления смещения страницы в jsonDocumentManager.search (queryDefinition, pageOffset) в петля до тех пор, пока documentPage.isLastPage вернется к истине
Может кто-нибудь, пожалуйста, дайте мне знать дальнейшие варианты, если они есть? Есть ли какой-либо параметр для разбивки на страницы, который я могу переключить на false, чтобы позволить marklogic делать разбитый на страницы поиск?
Обычно неразумно извлекать все документы в одном запросе, если вы не уверены, что существует только ограниченное число, например, менее 500. Для чего-либо, кроме этого, обычно разумно запускать запросы параллельно или перебирать по страниц в последовательности. Можете ли вы подробно остановиться на этой цели? – grtjn
Спасибо grtjn за ответ. Мой вариант использования. Я хочу создать файл csv, извлекая все документы из базы данных, которая передает указанные критерии поиска. Ожидаемый объем составляет около 70 тыс. В день. Поэтому либо я могу увеличить размер страницы, но, как было предложено вами, это не очень хороший подход, или я могу предоставить смещения страниц в поиске в цикле. Не могли бы вы сообщить мне рекомендуемый подход, которому я должен следовать? – Kiras
70k очень большой, но не слишком большой для одной страницы, предполагая, что вы можете вернуть все с сервера в пределах вашего настроенного таймаута запроса. Однако вы можете обнаружить, что разбиение на страницы в цикле работает лучше, поскольку оно позволяет серверу распределять память на более мелкие запросы вместо одного массивного запроса. –