Для чего нужен параметр rereduce в функции сокращения CouchDB?
Как я понимаю, функция Reduce принимает все значения определенного ключа, и мы можем написать код для выполнения какого-либо действия с этими значениями. Я не понимаю, какой смысл использовать параметр rereduce. Может кто-нибудь объяснить на примере?
Спасибо...
2 ответа
Я думаю, что http://wiki.apache.org/couchdb/Introduction_to_CouchDB_views дает вам хороший обзор. Из-за оценки производительности функция снижения может вызываться на двух уровнях:
- уменьшить блок
- уменьшить результаты первого шага
На втором уровне параметр rereduce
является true
, Для примера см. http://wiki.apache.org/couchdb/Built-In_Reduce_Functions. На первом шаге длина блока (values
) возвращается, на уровне восстановления эти длины должны быть суммированы.
Здесь есть объяснение параметра rereduce.
Цитата: перефразировано. Больше информации по ссылке.
Вот пример функции приведения:
function (key, values, rereduce) { return sum(values); }
Функции Reduce должны обрабатывать два случая, когда rereduce имеет значение true и когда оно равно false.