Mapreduce 在CouchDB中,rereduce和group=true

Mapreduce 在CouchDB中,rereduce和group=true,mapreduce,couchdb,Mapreduce,Couchdb,实际上,这个问题是由当时的其他人提出的 但没有令人信服的答案 group=true在概念上等同于group_level=exact,因此CouchDB在映射行集中按唯一键运行reduce 这就是本文中的解释。 听起来CouchDB会收集同一个键的所有值,并且每个不同的键只减少一次 但另一种说法是 如果查询是关于每个键组的reduce值乘以键=true, 然后CouchDB尝试定位每个键的边界。因为这个范围 可能不完全适合B+树节点,CouchDB需要 找出两端的边缘以定位部分匹配的左边 B+树节

实际上,这个问题是由当时的其他人提出的

但没有令人信服的答案

group=true在概念上等同于group_level=exact,因此CouchDB在映射行集中按唯一键运行reduce

这就是本文中的解释。 听起来CouchDB会收集同一个键的所有值,并且每个不同的键只减少一次

但另一种说法是

如果查询是关于每个键组的reduce值乘以键=true, 然后CouchDB尝试定位每个键的边界。因为这个范围 可能不完全适合B+树节点,CouchDB需要 找出两端的边缘以定位部分匹配的左边 B+树节点并使用该键将其映射结果重新发送到视图 服务器然后,此reduce结果将与现有reduce合并 result以计算此键的最终还原结果

听起来,当group=true时,可能会发生重新推导

在我的项目中,有许多文档,但在为每个不同的键分组后,大多数有两个值具有相同的键。 在这种情况下会不会发生再减产


向您问好是的。再教育总是有可能的

如果这是一个问题,reduce函数中有一个rereduce参数,允许您检测是否发生了这种情况