包含Elasticsearch 5*新功能,凝聚了作者多年开发经验
分布式大数据全文搜索与数据挖掘必备工具
Elasticsearch是一个强大的搜索引擎,提供了近实时的索引、搜索、分析功能。本书作者根据自己多年的开发经验,总结了使用和开发Elasticsearch的实战经验。本书全面介绍Elasticsearch系统结构与功能配置,以及实际应用案例,包括工具、方法、原则和佳实践。主要内容包括Elasticsearch基本概念与配置,索引的基本概念、管理与设置,架构设计中的字段、对象、映射,搜索中的结构、各种查询方式,聚合中的数字聚合、桶聚合、管道聚合,集群中的监控方式、配置案例,分析模块中的中文分词器、过滤器,高级设置中的关键点,监控与安全方面的技巧,ELK综合示例等。不管你是全文检索和Elasticsearch的初学者,还是Elasticsearch用户,你都能从书中获益。
前言
第1章 Elasticsearch入门1
1.1 Elasticsearch是什么1
1.1.1 Elasticsearch的历史2
1.1.2 相关产品3
1.2 全文搜索3
1.2.1 Lucene介绍4
1.2.2 Lucene倒排索引4
1.3 基础知识6
1.3.1 Elasticsearch术语及概念6
1.3.2 JSON介绍10
1.4 安装配置12
1.4.1 安装Java12
1.4.2 安装Elasticsearch12
1.4.3 配置13
1.4.4 运行15
1.4.5 停止17
1.4.6 作为服务17
1.4.7 版本升级19
1.5 对外接口21
1.5.1 API约定22
1.5.2 REST介绍25
1.5.3 Head插件安装26
1.5.4 创建库27
1.5.5 插入数据28
1.5.6 修改文档28
1.5.7 查询文档29
1.5.8 删除文档29
1.5.9 删除库30
1.6 Java接口30
1.6.1 Java接口说明30
1.6.2 创建索引文档33
1.6.3 增加文档34
1.6.4 修改文档35
1.6.5 查询文档35
1.6.6 删除文档35
1.7 小结36
第2章 索引37
2.1 索引管理37
2.1.1 创建索引37
2.1.2 删除索引39
2.1.3 获取索引39
2.1.4 打开/关闭索引40
2.2 索引映射管理41
2.2.1 增加映射41
2.2.2 获取映射44
2.2.3 获取字段映射45
2.2.4 判断类型是否存在46
2.3 索引别名46
2.4 索引配置51
2.4.1 更新索引配置51
2.4.2 获取配置52
2.4.3 索引分析52
2.4.4 索引模板54
2.4.5 复制配置55
2.4.6 重建索引56
2.5 索引监控60
2.5.1 索引统计60
2.5.2 索引分片62
2.5.3 索引恢复63
2.5.4 索引分片存储64
2.6 状态管理64
2.6.1 清除缓存64
2.6.2 索引刷新64
2.6.3 冲洗65
2.6.4 合并索引65
2.7 文档管理66
2.7.1 增加文档66
2.7.2 更新删除文档69
2.7.3 查询文档73
2.7.4 多文档操作76
2.7.5 索引词频率80
2.7.6 查询更新接口83
2.8 小结87
第3章 映射88
3.1 概念88
3.2 字段数据类型90
3.2.1 核心数据类型91
3.2.2 复杂数据类型96
3.2.3 地理数据类型100
3.2.4 专门数据类型106
3.3 元字段108
3.3.1 _all字段109
3.3.2 _field_names字段109
3.3.3 _id字段110
3.3.4 _index字段110
3.3.5 _meta字段111
3.3.6 _parent字段111
3.3.7 _routing字段112
3.3.8 _source字段114
3.3.9 _type字段115
3.3.10 _uid字段115
3.4 映射参数116
3.4.1 analyzer参数116
3.4.2 boost参数118
3.4.3 coerce参数119
3.4.4 copy_to参数120
3.4.5 doc_values参数121
3.4.6 dynamic参数122
3.4.7 enabled参数122
3.4.8 fielddata参数123
3.4.9 format参数126
3.4.10 geohash参数128
3.4.11 geohash_precision参数129
3.4.12 geohash_prefix参数130
3.4.13 ignore_above参数131
3.4.14 ignore_malformed参数131
3.4.15 include_in_all参数132
3.4.16 index参数133
3.4.17 index_options参数133
3.4.18 lat_lon参数134
3.4.19 fields参数135
3.4.20 norms参数136
3.4.21 null_value参数137
3.4.22 position_increment_gap参数137
3.4.23 precision_step参数138
3.4.24 properties参数138
3.4.25 search_analyzer参数139
3.4.26 similarity参数140
3.4.27 store参数141
3.4.28 term_vector参数141
3.5 动态映射142
3.5.1 概念142
3.5.2 _default_映射143
3.5.3 动态字段映射143
3.5.4 动态模板145
3.5.5 重写默认模板148
3.6 小结148
第4章 搜索149
4.1 深入搜索149
4.1.1 搜索方式149
4.1.2 重新评分153
4.1.3 滚动查询请求155
4.1.4 隐藏内容查询158
4.1.5 搜索相关函数161
4.1.6 搜索模板164
4.2 查询DSL167
4.2.1 查询和过滤的区别167
4.2.2 全文搜索168
4.2.3 字段查询179
4.2.4 复合查询183
4.2.5 连接查询188
4.2.6 地理查询190
4.2.7 跨度查询197
4.2.8 高亮显示200
4.3 简化查询203
4.4 小结206
第5章 聚合207
5.1 聚合的分类207
5.2 度量聚合209
5.2.1 平均值聚合209
5.2.2 基数聚合211
5.2.3 最大值聚合213
5.2.4 最小值聚合214
5.2.5 和聚合214
5.2.6 值计数聚合215
5.2.7 统计聚合215
5.2.8 百分比聚合215
5.2.9 百分比分级聚合216
5.2.10 最高命中排行聚合217
5.2.11 脚本度量聚合217
5.2.12 地理边界聚合221
5.2.13 地理重心聚合222
5.3 分组聚合223
5.3.1 子聚合224
5.3.2 直方图聚合226
5.3.3 日期直方图聚合230
5.3.4 时间范围聚合233
5.3.5 范围聚合234
5.3.6 过滤聚合235
5.3.7 多重过滤聚合236
5.3.8 空值聚合238
5.3.9 嵌套聚合239
5.3.10 采样聚合240
5.3.11 重要索引词聚合242
5.3.12 索引词聚合245
5.3.13 总体聚合251
5.3.14 地理点距离聚合251
5.3.15 地理散列网格聚合253
5.3.16 IPv4范围聚合255
5.4 管道聚合257
5.4.1 平均分组聚合259
5.4.2 移动平均聚合261
5.4.3 总和分组聚合262
5.4.4 总和累计聚合262
5.4.5 最大分组聚合264
5.4.6 最小分组聚合265
5.4.7 统计分组聚合266
5.4.8 百分位分组聚合268
5.4.9 差值聚合269
5.4
本书从应用的角度深入浅出地对Elasticsearch做了全方位的剖析,从index、shard、document、cluster等基础概念到高阶的运维配置、集群优化等,从Lucene原理到Elasticsearch的高可用性实现。作者注重细节,甚至给出具体场景的参数配置,为学习Elasticsearch提供了快速进阶之路。
—— 吴树鹏 滴滴出行首席安全顾问
这可能是介绍Elasticsearch*详尽的中文参考书了,作者研究这个领域多年,有极强的实践经验。作者公司的SeciLog底层引擎也用的是Elasticsearch,该产品经过了多方实战检验。如果想深入研究Elasticsearch,这本书应是*合适的选择!
—— 张百川 游侠安全网 www.youxia.org 站长
Elasticsearch是众多开源搜索系统里的一把神器,我们的ZoomEye就使用了Elasticsearch作为搜索模块,Elasticsearch的高效、快捷、稳定给用户带来了很好的搜索体验。这本书是业内首次对Elasticsearch深入浅出进行全面介绍的原创成果,相信一定会对读者带来切实的帮助。
—— 赵伟 知道创宇CEO