2014-11-19 2 views
0

На самом деле этот вопрос был поднят кем-то еще в here https://stackoverflow.com/questions/13338799/does-couchdbs-group-true-prevent-rereduce.rereduce и group = true в CouchDB

Но нет убедительного ответа.

group = true - концептуальный эквивалент group_level = точный, поэтому CouchDB запускает сокращение на уникальный ключ в наборе строк карты.

Так описано в doc. Похоже, что CouchDB собирал все значения для одного и того же ключа и сокращал только один раз на каждый отдельный ключ.

Но в другом article, он говорит, что

Если запрос на уменьшить значение каждого ключа (group_by_key = истина), затем CouchDB попытаться найти границу каждого ключа. Так как этот диапазон , вероятно, не подходит точно вдоль узла B + Tree, CouchDB должен выяснить край обоих концов, чтобы найти частично согласованный отпуск. B + Tree node и повторно отправить его результат (с этой клавишей). Просмотр Сервер. Этот результат уменьшения затем сливается с существующим результатом rereduce , чтобы вычислить конечный результат сокращения этого ключа.

Похоже, что reereduce может случиться, когда group = true.

В моем проекте есть много документов, но есть два значения с одним и тем же ключом после группировки для каждого отдельного ключа. Возможно ли повторное использование в этом случае?

С наилучшими пожеланиями

ответ

Смежные вопросы