4:增加IP分析。

> db.images.aggregate(
... [
... {$unwind:"$tags"}
... ])

{ "_id" : 3, "height" : 480, "width" : 640, "tags" : "kittens" }
{ "_id" : 3, "height" : 480, "width" : 640, "tags" : "travel" }
{ "_id" : 1, "height" : 480, "width" : 640, "tags" : "cats" }
{ "_id" : 1, "height" : 480, "width" : 640, "tags" : "sunrises" }
{ "_id" : 1, "height" : 480, "width" : 640, "tags" : "kittens" }
{ "_id" : 1, "height" : 480, "width" : 640, "tags" : "travel" }
{ "_id" : 1, "height" : 480, "width" : 640, "tags" : "vacation" }
{ "_id" : 1, "height" : 480, "width" : 640, "tags" : "work" }
{ "_id" : 0, "height" : 480, "width" : 640, "tags" : "dogs" }
{ "_id" : 0, "height" : 480, "width" : 640, "tags" : "work" }
{ "_id" : 6, "height" : 480, "width" : 640, "tags" : "work" }
{ "_id" : 4, "height" : 480, "width" : 640, "tags" : "dogs" }
{ "_id" : 4, "height" : 480, "width" : 640, "tags" : "sunrises" }
.....
.....

5:扩大360查找引擎的支撑。

②将解释后的每一个tag 实行 group 操作

 

①行使
unwind 分解 tags 数组,获得的结果如下:

3:支持Linux下的IIS日志。

 

1:全体提高,防止线程争执引发导致软件自行退出的标题。

> db.images.aggregate(
... [
... {$unwind:"$tags"},
... {$group:{_id:"$tags",num_of_tag:{$sum:1}}}
... ]
... )

{ "_id" : "dogs", "num_of_tag" : 49921 }
{ "_id" : "work", "num_of_tag" : 50070 }
{ "_id" : "vacation", "num_of_tag" : 50036 }
{ "_id" : "travel", "num_of_tag" : 49977 }
{ "_id" : "kittens", "num_of_tag" : 49932 }
{ "_id" : "sunrises", "num_of_tag" : 49887 }
{ "_id" : "cats", "num_of_tag" : 49772 }

统计 1

相关MongoDB文章:

 

MongoDB
组合多个标准查询($and、$in、$gte、$lte)

5:同样的,双击“24钟头”计算里行里的单元格,也会出来“24小时精心”,能够更精准的旁观种种请求的链接。

MongoDB 更新数组中的成分

 

离上二个版本,过了好久好久了。

三,总结

6:本次版本新扩展了“IP”的总计,通过那一个总括,你能够看来搜索引擎的伸手IP和做客次数和请求头等新闻,同时,对于非搜索引擎,假诺IP的拜访数太高,能够分析是还是不是网站或然被口诛笔伐,也许被采访,应该做点事了。

近来要总计:
全部Document中的 tags 数组里面包车型大巴各个元素出现的次数。即:”kittens”出现了稍稍次?”travel”出现了略微次?”dogs”出现了有点次?……

 

原文:http://www.cnblogs.com/hapjin/p/7944404.html

下载地址:http://www.cyqdata.com/download/article-detail-42518

> db.images.find()
{ "_id" : 3, "height" : 480, "width" : 640, "tags" : [ "kittens", "travel" ] }
{ "_id" : 1, "height" : 480, "width" : 640, "tags" : [ "cats", "sunrises", "kittens", "travel", "vacation", "work" ] }
{ "_id" : 0, "height" : 480, "width" : 640, "tags" : [ "dogs", "work" ] }
{ "_id" : 6, "height" : 480, "width" : 640, "tags" : [ "work" ] }
{ "_id" : 4, "height" : 480, "width" : 640, "tags" : [ "dogs", "sunrises", "kittens", "travel" ] }
{ "_id" : 5, "height" : 480, "width" : 640, "tags" : [ "dogs", "cats", "sunrises", "kittens", "work" ] }
{ "_id" : 7, "height" : 480, "width" : 640, "tags" : [ "dogs", "sunrises" ] }
{ "_id" : 8, "height" : 480, "width" : 640, "tags" : [ "dogs", "cats", "sunrises", "kittens", "travel" ] }

2:切换来查看明细:点击二个日记文件,能够查看状态码,根据状态码分析是一项比较首要的伎俩,那里给出状态码的次数和验证,更详细的状态码介绍,可以点协助菜单下的“状态码帮助”。

 

 

对于group操作而言,_id
内定了 分组 的字段(对哪些字段进行 group by
操作),分组操作之后生成的结果由 num_of_tag 字段标识

本次版本升级中央:


images.json 文件中导入数据到MongoDB服务器

**

 

升级到3.0了,给改了个名字,叫:秋式网站日志分析器V3.0

【使用 unwind 操作符 “解包” Document
里面的Array中的种种成分,然后接纳 group 分组总计,最终动用 sort
对分组结果排序】

统计 2

正文是MongoDB
University M101课程 For Java
Developers中的3遍作业。结合谷歌搜索和MongoDB的合法文书档案,很不难就能促成MongoDB的各个组合查询。

2:分析格式升级,再精准分析IIS日志。

 

统计 3

 

**V2.0时,给了个中文名,叫:点格网站日志分析器V2.0

 

1:运营的界面,通过点击“单个文件”或“指文件夹”选择相应的日记文件或路径,加载后,系统那里会自行保存路径,方便下次运转时还原路径,然后点击汇总总结,能够看到汇总,如下图:

应用MongoDB的Aggregate操作实行落到实处

3:双击状态码总计的肆意一行的单元格,会出来状态码明细,那里能够依照明细再细分各搜索引擎的状态,进一分分析情况。

project操作,_id:0
代表去掉_id 字段;tags:”$_id”,将 _id 字段值 使用tags
字段标识;num_of_tag:1 保留 num_of_tag 字段

统计 4

> db.images.aggregate( [ {$unwind:"$tags"},{$group:{_id:"$tags",num_of_tag:{$sum:1}}},{$project:{_id:0,tags:"$_id",num_of_tag:1}},{$sort:{num_of_tag:-1}} ])
{ "num_of_tag" : 50070, "tags" : "work" }
{ "num_of_tag" : 50036, "tags" : "vacation" }
{ "num_of_tag" : 49977, "tags" : "travel" }
{ "num_of_tag" : 49932, "tags" : "kittens" }
{ "num_of_tag" : 49921, "tags" : "dogs" }
{ "num_of_tag" : 49887, "tags" : "sunrises" }
{ "num_of_tag" : 49772, "tags" : "cats" }

统计 5

> db.images.aggregate( [ {$unwind:"$tags"},{$group:{_id:"$tags",num_of_tag:{$sum:1}}},{$project:{_id:0,tags:"$_id",num_of_tag:1}} ])
{ "num_of_tag" : 49921, "tags" : "dogs" }
{ "num_of_tag" : 50070, "tags" : "work" }
{ "num_of_tag" : 50036, "tags" : "vacation" }
{ "num_of_tag" : 49977, "tags" : "travel" }
{ "num_of_tag" : 49932, "tags" : "kittens" }
{ "num_of_tag" : 49887, "tags" : "sunrises" }
{ "num_of_tag" : 49772, "tags" : "cats" }

 

一,难题讲述

V1.0时,叫:CYQ.IISLogViewer。

中间Document的以身作则如下:

4:在查阅明细的“24钟头”里,能够见见24小时段的拜访情状,从此处能够观望搜索引擎的屡屡,分析搜索引擎在哪些时段来的多一些,做一些优化。

 

 

二,达成步骤

 

④使用
sort 对 num_of_tag 字段排序

 

③利用
project 去掉不感兴趣的 _id 字段(其实这里是将 _id 字段名 替换为 tags
字段名)(这一步可忽略)

 

mongoimport --drop -d test -c images images.json

 

 

统计 6

8:本版本做了Linux下的IIS日志的同盟处理,在默许意况下,会智能的基于有些特征分析对应的字段,借使您发觉私下认可的智能字段对应不上,能够“勾Linux
IIS
配置”,复制一行IIS日志到文本框里,然后点格式化,会出来对应的数字和值,然后勘误左边的字段和相应数字,点保存即可。

 

7:照旧一样,双击单元格,会出去明细,从全面时在,能够观看种种IP具体访问的页面和岁月,假使多少个IP访问同2个页面多次,早先可以分析为被口诛笔伐了,借使叁个IP每种页面都访问1回,开首能够分析那些IP正在采访你的小说音讯。

下边请看截图申明:

统计 7

统计 8

秋式网站日志分析器[IISLogViewer]
V3版本的介绍就这里了,若蒙受难点或Bug,欢迎留言。