互联网大数据的检索与发掘,在现如今的“互联网技术+”时期是很必须的。这书明确提出的分布式系统互联网大数据检索与系统日志发掘及数据可视化计划方案是根据ELKStack而明确提出的,它能有效用对大量互联网大数据所产生的分布式系统与解决、全文检索、系统日志发掘、数据可视化等难题。搭建在全文检索开源软件Lucene之中的Elasticsearch,不但能对大量经营规模的数据信息进行分布式系统数据库索引与查找,还能给出的数据聚合物解析。据国际性的数据库查询商品测评组织DBEngines的统计分析,在2016年1月,Elasticsearch已超出Solr等,变成排行前例的百度搜索引擎类运用;Logstash能合理解决来自各种各样数据库的系统日志信息内容;Kibana能算出可视化分析結果。掌握根据ELKStack的互联网大数据检索与系统日志发掘及数据可视化计划方案,把握Elasticsearch、Logstash、Kibana的基础使用说明和方法,很必须。
本书以模块化设计的方法开展机构。和初版对比,这书务求体现ELKStack的新成效,內容新奇、注重实践活动。这书也若为高等院校有关技术专业(如电子信息科学与技术性、计算机专业、物联网技术、信息化管理与信息管理系统)学员的学习培训和学科建设出示协助,另外针对从业互联网大数据检索与发掘、日志分析、信息可视化技术性的工程项目专业技术人员和期望掌握互联网信息搜索技术性的工作人员也具备较高的实用价值和工程项目运用使用价值。
目录
- 第1章概述1
- 1.1Elasticsearch的安装与简单配置3
- 1.2走进Elasticsearch6
- 1.2.1相关概念6
- 1.2.2Elasticsearch API的简单使用方式8
- 1.2.3部分插件简介9
- 1.2.4Elasticsearch 基本架构11
- 1.3Elasticsearch索引及其构建12
- 1.3.1概述12
- 1.3.2借助Head工具构建索引12
- 1.3.3Mapping简述14
- 1.4信息检索及其构建15
- 1.5中文分词插件16
- 1.6实例20
- 1.7扩展知识与阅读25
- 1.8本章小结25
- 第2章文档索引及管理26
- 2.1文档索引概述26
- 2.2建立索引28
- 2.3通过映像Mapping配置索引32
- 2.3.1在索引中使用映像33
- 2.3.2管理/配置映像33
- 2.3.3获取映像信息34
- 2.3.4删除映像35
- 2.4管理索引文件362.4.1打开、关闭、检测、删除索引文件36
- 2.4.2清空索引缓存36
- [1][2][1][3]2.4.3刷新索引数据37
- 2.4.4优化索引数据37
- 2.4.5flush操作37
- 2.5设置中文分词器38
- 2.6对文档的其他操作39
- 2.6.1获取指定的文档信息39
- 2.6.2删除文档中的信息41
- 2.6.3数据更新41
- 2.6.4基于POST方式批量获取文档44
- 2.6.5删除部分文档46
- 2.7实例46
- 2.8扩展知识与阅读49
- 2.9本章小结50
- 第3章信息检索与结果过滤51
- 3.1实验数据集描述52
- 3.2简单检索53
- 3.3基本检索55
- 3.3.1设置不同字段的排序权重55
- 3.3.2指定返回的字段子集55
- 3.3.3term查询、terms查询、wildcard通配符查询58
- 3.3.4match、match_all、match_phrase查询59
- 3.3.5query_string查询60
- 3.3.6prefix、range查询61
- 3.3.7more_like_this、fuzzy_like_this查询63
- 3.3.8跨字段检索64
- 3.4filter概述65
- 3.5常用filter及其应用67
- 3.5.1and filter及or filter67
- 3.5.2bool filter68
- 3.5.3exists filter和missing filter68
- 3.5.4type filter69
- 3.5.5match_all filter69
- 3.5.6not filter70
- 3.5.7query filter70
- 3.6复合查询71
- 3.7结果排序74
- 3.8实例75
- 3.9扩展知识与阅读79
- 3.10本章小结79
- 第4章信息统计分析与搜索提示80
- 4.1facets概述81
- 4.2各种不同的facets统计82
- 4.2.1terms facets: 指定字段的分布情况统计82
- 4.2.2range facets: 在某个范围的分布情况统计86
- 4.2.3histogram facets89
- 4.2.4date_histogram facets92
- 4.2.5statistical facets94
- 4.2.6terms_stats facets96
- 4.3aggregations97
- 4.3.1概述97
- 4.3.2最值、求和、均值统计98
- 4.3.3stats aggregation及extended stats aggregation101
- 4.3.4terms aggregations103
- 4.3.5range aggregations108
- 4.3.6date_range aggregations111
- 4.3.7histogram aggregations111
- 4.3.8date_histogram aggregations114
- 4.3.9filter aggregations117
- 4.3.10missing aggregations119
- 4.4搜索提示121
- 4.5实例122
- 4.6扩展知识与阅读127
- 4.7本章小结127
- 第5章Elasticsearch部分功能的Java客户端实现129
- 5.1Elasticsearch节点实例化129
- 5.1.1通过Maven添加对Elasticsearch依赖130
- 5.1.2初始化Elasticsearch Client132
- 5.2索引数据133
- 5.2.1准备json数据133
- 5.2.2索引json数据135
- 5.3对索引文档的操作137
- 5.3.1获取索引文档137
- 5.3.2删除索引文档138
- 5.3.3更新索引文档139
- 5.3.4批量操作索引文件140
- 5.3.5简单的统计操作141
- 5.4信息检索142
- 5.4.1概述142
- 5.4.2multiSearch143
- 5.4.3Query DSL概述144
- 5.4.4matchQuery145
- 5.4.5matchAllQuery146
- 5.4.6multiMatchQuery146
- 5.4.7boolQuery147
- 5.4.8termQuery148
- 5.4.9wildcardQuery149
- 5.4.10queryString149
- 5.4.11moreLikeThis150
- 5.4.12filter概述151
- 5.4.13termFilter152
- 5.4.14existsFilter152
- 5.4.15matchAllFilter153
- 5.4.16queryFilter153
- 5.4.17rangeFilter154
- 5.4.18typeFilter155
- 5.4.19过滤器间的组合: boolFilter、notFilter、orFilter、andFilter155
- 5.5统计分析157
- 5.5.1facets157
- 5.5.2aggregations158
- 5.6对检索结果的进一步处理160
- 5.6.1控制每页的显示数量及显示排序依据160
- 5.6.2基于Scroll方法的检索结果及其分页161
- 5.6.3高亮显示检索词163
- 5.7实例164
- 5.7.1连接Elasticsearch164
- 5.7.2信息采集与索引构建165
- 5.7.3搜索模块的实现167
- 5.7.4推荐模块的实现169
- 5.8扩展知识与阅读170
- 5.9本章小结170
- 第6章Elasticsearch配置与集群管理171
- 6.1Elasticsearch部分基本配置及其说明171
- 6.2提高索引和查询效率的策略174
- 6.3监控集群状态176
- 6.4控制索引分片与副本分配178
- 6.5集群管理180
- 6.6扩展知识与阅读181
- 6.7本章小结181
- 第7章基于Logstash的日志处理182
- 7.1概述183
- 7.2input: 处理输入的日志数据185
- 7.2.1处理基于file方式输入的日志信息186
- 7.2.2处理基于generator产生的日志信息187
- 7.2.3处理基于log4j的日志信息188
- 7.2.4处理基于redis的日志信息189
- 7.2.5处理基于stdin方式输入的信息193
- 7.2.6处理基于TCP传输的日志数据193
- 7.2.7处理基于UDP传输的日志数据197
- 7.3codecs: 格式化日志数据199
- 7.3.1json格式199
- 7.3.2rubydebug格式201
- 7.3.3plain格式202
- 7.4基于filter的日志处理与转换202
- 7.4.1json filter203
- 7.4.2grok filter204
- 7.4.3kv filter206
- 7.5output: 处理输出的日志数据208
- 7.5.1将处理后的日志输出到Elasticsearch中208
- 7.5.2将处理后的日志输出至文件中210
- 7.5.3将处理后的部分日志输出到csv格式的文件中211
- 7.5.4将处理后的日志输出到redis中212
- 7.5.5将处理后的部分日志通过UDP协议输出214
- 7.5.6将处理后的部分日志通过TCP协议输出216
- 7.5.7将收集到的日志信息传输到自定义的HTTP接口中220
- 7.6扩展知识与阅读220
- 7.7本章小结221
- 第8章基于Kibana的数据分析可视化222
- 8.1安装Kibana223
- 8.2Kibana概述224
- 8.2.1在仪表盘上添加新行226
- 8.2.2在行中添加新面板226
- 8.2.3设置Query和Filtering228
- 8.3常用面板类型230
- 8.3.1histogram230
- 8.3.2table233
- 8.3.3map和bettermap234
- 8.3.4terms234
- 8.3.5text236
- 8.3.6sparklines237
- 8.3.7trends238
- 8.4网站性能监控可视化应用的设计与实现238
- 8.4.1概述239
- 8.4.2Page View240
- 8.4.3响应/请求时间241
- 8.4.4流量走势与统计242
- 8.4.5状态码监控245
- 8.4.6UA行248
- 8.5Kibana V4简介249
- 8.5.1新建视图250
- 8.5.2建立Dashboard252
- 8.5.3配置252
- 8.6扩展知识与阅读253
- 8.7本章小结254
- 第9章网络信息检索与分析实践255
- 9.1信息采集255
- 9.2基于Python的信息检索及Web端设计260
- 9.2.1安装 Python及Django260
- 9.2.2安装 Elasticsearch的Python插件261
- 9.2.3Web页面设计262
- 9.3基于Logstash的日志处理265
- 9.3.1安装和配置Nginx266
- 9.3.2设计面向日志文件的模式266
- 9.3.3在Logstash中进行相关配置267
- 9.4基于Kibana的日志分析结果可视化设计与实现268
- 9.4.1图表1: 状态码走势分析269
- 9.4.2图表2: 查询词分析271
- 9.4.3图表3: 分析各状态码随时间的变迁情况272
- 9.4.4集成上述图表273
- 9.5扩展知识与阅读274
- 9.6本章小结274
- 参考文献275