Для чего нужен параметр rereduce в функции сокращения CouchDB? - PullRequest
4 голосов
/ 30 марта 2012

Как я понимаю, функция Reduce принимает все значения определенного ключа, и мы можем написать код для выполнения какого-либо действия с этими значениями. Я не понимаю, какой смысл использовать параметр rereduce. Может кто-нибудь объяснить на примере?

Спасибо ...

Ответы [ 2 ]

6 голосов
/ 30 марта 2012

Я думаю, http://wiki.apache.org/couchdb/Introduction_to_CouchDB_views#Reduce_vs_rereduce дает вам хороший обзор. Из-за оценки производительности функцию снижения можно вызывать на двух уровнях:

  • чтобы уменьшить блок
  • чтобы уменьшить результаты первого шага

На втором уровне параметр rereduce равен true. Пример см. http://wiki.apache.org/couchdb/Built-In_Reduce_Functions#A_sum. На первом шаге возвращается длина блока (values), на уровне восстановления эти длины должны быть суммированы.

0 голосов
/ 30 марта 2012

Здесь есть объяснение параметра rereduce здесь .

Цитата: перефразировано.Больше информации по ссылке.

Вот пример функции сокращения:

function (key, values, rereduce) {
    return sum(values); 
}

Функции сокращения должны обрабатывать два случая, когда rereduce равно true и когда false.

...