Для чего нужен параметр 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.

Другие вопросы по тегам