我正在制作一张map / reduce,它不能完全返回我在rereduce案例中的预期。
我想调试它,但我至少也想看看它里面有什么,所以我输出了很多东西,Couch每次运行视图时返回reduce_overflow_error
。
是否可以停用此行为?
我知道这是为了防止开发人员做不健康的观点,但如果我想做垃圾,我不应该被允许吗?特别是在调试时。
答案 0 :(得分:10)
您需要修改CouchDB配置以禁用此限制。
通过卷曲的第一种方式:
curl -X PUT http://localhost:5984/_config/query_server_config/reduce_limit -d '"false"' -H "Content-Type: application/json"
其次是通过local.ini配置修改。只需添加或修改如下所示的部分,然后重新启动CouchDB服务:
[query_server_config]
reduce_limit = false
第三个是通过Futon Configuration页面。我想,你已经猜到了应该修改哪个参数(;
但是大多数情况下这种限制是合理的,因为reduce函数应该减少输出,而不是让它变大 - 这就是map函数的工作原理。出于调试原因,最好启用调试日志 - 它们非常详细,可能会显示map / reduce / any函数输出。