Я хотел бы загрузить случайный документ из набора документов, хранящихся в базе данных CouchDB. Метод сбора и загрузки документа должен соответствовать следующим требованиям:
-
Эффективность: поиск документа должен быть эффективным, самое главное время загрузки документа не должно расти линейно с общим количеством документов. Это означает, что аргумент пропущенного запроса не может быть использован.
-
Равномерное распределение: выбор должен быть действительно случайным (насколько это возможно, с использованием стандартных генераторов случайных чисел), каждый документ должен иметь равные шансы на выбор.
Каков наилучший способ реализовать это в CouchDB?