Couchbase REREREDUCE始终为false

Couchbase REREREDUCE始终为false,couchbase,Couchbase,我是Couchbase的新手。我正在研究reduce函数,并意识到在我所有的情况下,reduce参数总是错误的。我已经阅读了有关重新导出的文档。他们说,当在上一个reduce阶段之后调用reduce函数时,rereduce为真。这让我很困惑 我的问题是如何获得rereduce=true???如果集群中有多台服务器,rereduce将变为true。我将解释_count函数示例 当您有一台服务器时,map和reduce这两个操作都在一台服务器上处理。也就是说,如果您有这样的数组:在map:[1:nu

我是Couchbase的新手。我正在研究reduce函数,并意识到在我所有的情况下,reduce参数总是错误的。我已经阅读了有关
重新导出
的文档。他们说,当在上一个reduce阶段之后调用reduce函数时,
rereduce
为真。这让我很困惑


我的问题是如何获得
rereduce
=true???

如果集群中有多台服务器,rereduce将变为true。我将解释_count函数示例

当您有一台服务器时,map和reduce这两个操作都在一台服务器上处理。也就是说,如果您有这样的数组:在map:[1:null,2:null,…,5:null]之后,并且您需要在reduce中对它们进行计数,那么它将在一个步骤中返回5


但是,如果您有多个服务器,则会在每个服务器上执行map和reduce函数。因此,您从映射中的第一个服务器获取[1:null,3:null],从另一个服务器获取[2:null,4:null,5:null]。然后,reduce函数也将在两台服务器上调用,它将从第一台服务器返回[2],从另一台服务器返回[3]。该值将在一台服务器上再次传递以减少,因此在rereduce上,您将在数组[[2]、[3]]中获得value param,这里您需要添加该值以获得正确的计数。

如果集群中有多台服务器,rereduce将变为true。我将解释_count函数示例

当您有一台服务器时,map和reduce这两个操作都在一台服务器上处理。也就是说,如果您有这样的数组:在map:[1:null,2:null,…,5:null]之后,并且您需要在reduce中对它们进行计数,那么它将在一个步骤中返回5


但是,如果您有多个服务器,则会在每个服务器上执行map和reduce函数。因此,您从映射中的第一个服务器获取[1:null,3:null],从另一个服务器获取[2:null,4:null,5:null]。然后,reduce函数也将在两台服务器上调用,它将从第一台服务器返回[2],从另一台服务器返回[3]。该值将在一台服务器上再次传递到reduce,因此,在rereduce中,您将在数组[[2]、[3]]中获得value param在这里,您需要添加该值以获得正确的计数。

Rereduce不仅在来自多个节点时设置为true,而且在一个节点上调用reduce函数以及在多个“节点”上完成计算时也设置为trueRereduce不仅当它来自多个节点时,而且当在一个节点上调用reduce函数以及在B*树的多个“节点”上进行计算时,都被设置为true。