From: Maxious Date: Sun, 23 Dec 2012 04:43:31 +0000 Subject: stats reduce view X-Git-Url: http://maxious.lambdacomplex.org/git/?p=disclosr.git&a=commitdiff&h=7ce2d4b5f69d98b7158cb7e5611a6701698f84ce --- stats reduce view Former-commit-id: 501735ca670b5f69a7b39c250edd14003970c2ae --- --- a/admin/refreshDesignDoc.php +++ b/admin/refreshDesignDoc.php @@ -25,9 +25,9 @@ $obj->_id = "_design/" . urlencode("app"); $obj->language = "javascript"; $obj->views->web_server->map = "function(doc) {\n emit(doc.web_server, 1);\n}"; -$obj->views->web_server->reduce = "function (key, values, rereduce) {\n return sum(values);\n}"; +$obj->views->web_server->reduce = "_sum"; $obj->views->byAgency->map = "function(doc) {\n emit(doc.agencyID, 1);\n}"; -$obj->views->byAgency->reduce = "function (key, values, rereduce) {\n return sum(values);\n}"; +$obj->views->byAgency->reduce = "_sum"; $obj->views->byURL->map = "function(doc) {\n emit(doc.url, doc);\n}"; $obj->views->agency->map = "function(doc) {\n emit(doc.agencyID, doc);\n}"; $obj->views->byWebServer->map = "function(doc) {\n emit(doc.web_server, doc);\n}"; @@ -106,6 +106,17 @@ emit(null, [doc._rev].concat(doc._conflicts)); } }"; +$obj->views->getStatistics->map = +"function(doc) { + if (doc.statistics) { + for (var statisticSet in doc.statistics) { +for (var statisticPeriod in doc.statistics[statisticSet]) { + emit([statisticSet,statisticPeriod], doc.statistics[statisticSet][statisticPeriod]['value']); +} +} + } +}"; +$obj->views->getStatistics->reduce = '_sum'; // http://stackoverflow.com/questions/646628/javascript-startswith $obj->views->score->map = 'if(!String.prototype.startsWith){ String.prototype.startsWith = function (str) { @@ -151,9 +162,7 @@ emit("total", 1); } }'; -$obj->views->scoreHas->reduce = 'function (key, values, rereduce) { - return sum(values); -}'; +$obj->views->scoreHas->reduce = '_sum'; $obj->views->fieldNames->map = ' function(doc) { for(var propName in doc) { @@ -161,9 +170,7 @@ } }'; -$obj->views->fieldNames->reduce = 'function (key, values, rereduce) { - return values.length; -}'; +$obj->views->fieldNames->reduce = '_count'; // allow safe updates (even if slightly slower due to extra: rev-detection check). $db->save($obj, true); ?>