最近在做搜索的查询日志的统计分析,对每一条查询统计日志,我将其解析出来后以特定字段格式存在mongodb中,定时调度做些统计分析。其中有个需求是,统计某个时间段(每天、每周、每月)各个query的查询次数,展示上就是热门查询query了。考虑到处理的数据量不会很大,解决方法也可以简单来之。我现在使用的方法就是mongodb的MapReduce功能,其实这个需求也可以认为是个group操作,而mongodb的group功能就是基于MapReduce的,但group对结果集的大小是有限制的。本文就针对一个示例介绍一下mongodb MapReduce功能。语法介绍MapReduce是mongodb中的一个Command,它的语法格式如下:db.runCommand({mapreduce:,map:,reduce:[,query:][,sort:][,limit:][,out:][,keeptemp:][,finalize:][,scope:][,verbose:true]});对于该Command,必有的3个参数我就不解释了。对于可选参数,这里简要说明如下:(1) query是很常用的,它用来在map阶段过滤查询条件的以限定
...
继续阅读
(19)