出版社: 机械工业出版社
原作名: Mastering ElasticSearch
译者: 张世武
出版年: 2016-1
页数: 250
定价: 69.00元
装帧: 平装
丛书: 云计算与虚拟化技术丛书
ISBN: 9787111524168
内容简介 · · · · · ·
资深软件开发专家、架构师撰写,系统且深入阐释ElasticSearch涉及的工具、方法、原则和实践,深入剖析ElasticSearch应用过程中遇到的各个层面的问题,涉及分布式索引机制、系统监控及性能优化、用户体验改善、Java API应用,以及自定义插件开发等,能为工程师与架构师快速提高ElasticSearch水平提供有效指导。
本书共9章,第1章介绍Apache Lucene的工作方式、ElasticSearch的基本概念以及ElasticSearch的工作机制;第2章描述Lucene评分机制、如何进行查询重写,以及ElasticSearch的批处理API和如何使用过滤器来优化查询;第3章描述如何修改Lucene评分,如何使用不同的倒排索引格式来改变索引字段的结构;第4章阐述如何选择恰当的索引分片、路由工作机制、索引分片机制;第5章介绍如何为具...
资深软件开发专家、架构师撰写,系统且深入阐释ElasticSearch涉及的工具、方法、原则和实践,深入剖析ElasticSearch应用过程中遇到的各个层面的问题,涉及分布式索引机制、系统监控及性能优化、用户体验改善、Java API应用,以及自定义插件开发等,能为工程师与架构师快速提高ElasticSearch水平提供有效指导。
本书共9章,第1章介绍Apache Lucene的工作方式、ElasticSearch的基本概念以及ElasticSearch的工作机制;第2章描述Lucene评分机制、如何进行查询重写,以及ElasticSearch的批处理API和如何使用过滤器来优化查询;第3章描述如何修改Lucene评分,如何使用不同的倒排索引格式来改变索引字段的结构;第4章阐述如何选择恰当的索引分片、路由工作机制、索引分片机制;第5章介绍如何为具体应用选择正确的目录实现,同时阐述发现、网关、恢复模块及其配置方式,以及调优ElasticSearch的缓存机制;第6章介绍JVM垃圾收集的工作原理、重要性以及如何调优;第7章介绍帮助修正查询中的拼写错误以及构建高效的自动完成机制——查询建议,还展示如何通过使用不同查询类型和ElasticSearch的其他功能来提高查询相关性;第8章重点阐释ElasticSearch的JAVA API;第9章通过演示如何开发你自己的河流和语言处理插件来介绍ElasticSearch的插件开发。
作者简介 · · · · · ·
ElasticSearch是一个优秀的开源分布式搜索引擎,同时有良好的社区和商业支持。对于中小型的垂直搜索引擎,ElasticSearch是一个不错的选择。本书是一本ElasticSearch的进阶教材,深入剖析DSL、索引控制、分布式实现、系统运维等高级内容,特别适合深入研究ElasticSearch。
—— 徐川 明星衣橱CTO,前雅虎高级工程师
ElasticSearch的出现,让开源搜索产品真正进入分布式时代。本书是一本不可多得的关于ElasticSearch的著作,既对ElasticSearch的全文索引、IR模型、分布式机制有深入剖析,又有生动翔实的示例,能帮助读者快速提升在该领域的技术水平。
—— 高剑林 腾讯(架构平台部)资深技术专家
除了用于搜索,ElasticSearch也是日志存储、离线数据分析挖掘的利器。本书深入浅出,案例丰富...
ElasticSearch是一个优秀的开源分布式搜索引擎,同时有良好的社区和商业支持。对于中小型的垂直搜索引擎,ElasticSearch是一个不错的选择。本书是一本ElasticSearch的进阶教材,深入剖析DSL、索引控制、分布式实现、系统运维等高级内容,特别适合深入研究ElasticSearch。
—— 徐川 明星衣橱CTO,前雅虎高级工程师
ElasticSearch的出现,让开源搜索产品真正进入分布式时代。本书是一本不可多得的关于ElasticSearch的著作,既对ElasticSearch的全文索引、IR模型、分布式机制有深入剖析,又有生动翔实的示例,能帮助读者快速提升在该领域的技术水平。
—— 高剑林 腾讯(架构平台部)资深技术专家
除了用于搜索,ElasticSearch也是日志存储、离线数据分析挖掘的利器。本书深入浅出,案例丰富,在信息检索模型、准实时搜索、分布式架构、系统优化等诸多方面都有精彩的论述。
—— 李伟博士 微软(bing)数据挖掘组高级工程师
很高兴看到《Mastering ElasticSearch》中文版面市,本书对ElasticSearch的分布式系统架构、系统调优有较深入的探讨,是一本进阶的好读物,其中一些系统设计思维对于文件系统研发人员也是有所裨益的。
—— 许加强 前IBM(GPFS)资深工程师
尽管ElasticSearch是一个开源搜索产品,它在百度也被广泛应用。目前已经覆盖到20多个业务线。这本书针对性较强,既不乏典型实例,也有一定的理论深度。非常适合进阶用户阅读。
—— 陈铁兵 百度网页搜索部高级工程师
目录 · · · · · ·
前言
致谢
作者简介
评审者简介
第1章 ElasticSearch简介 1
1.1 Apache Lucene简介 1
1.1.1 熟悉Lucene 2
1.1.2 Lucene的总体架构 2
1.1.3 分析你的数据 3
1.1.4 Lucene查询语言 4
1.2 ElasticSearch简介 6
1.2.1 ElasticSearch的基本概念 7
1.2.2 ElasticSearch架构背后的关键概念 8
1.2.3 ElasticSearch的工作流程 9
1.3 小结 13
第2章 查询DSL进阶 14
2.1 Apache Lucene默认评分公式解释 14
2.1.1 何时文档被匹配上 15
2.1.2 TF/IDF评分公式 15
2.1.3 ElasticSearch如何看评分 16
2.2 查询改写 17
2.2.1 前缀查询范例 17
2.2.2 回顾Apache Lucene 19
2.2.3 查询改写的属性 20
2.3 二次评分 21
2.3.1 理解二次评分 21
2.3.2 范例数据 21
2.3.3 查询 22
2.3.4 二次评分查询的结构 22
2.3.5 二次评分参数配置 23
2.3.6 小结 24
2.4 批量操作 24
2.4.1 批量取 24
2.4.2 批量查询 26
2.5 排序 27
2.5.1 基于多值字段的排序 28
2.5.2 基于多值geo字段的排序 28
2.5.3 基于嵌套对象的排序 30
2.6 数据更新API 31
2.6.1 简单字段更新 31
2.6.2 使用脚本按条件更新 32
2.6.3 使用更新 API创建或删除文档 33
2.7 使用过滤器优化查询 33
2.7.1 过滤器与缓存 34
2.7.2 词项查找过滤器 36
2.8 ElasticSearch切面机制中的过滤器与作用域 40
2.8.1 范例数据 40
2.8.2 切面计算和过滤 41
2.8.3 过滤器作为查询的一部分 42
2.8.4 切面过滤器 44
2.8.5 全局作用域 45
2.9 小结 47
第3章 底层索引控制 48
3.1 改变Apache Lucene的评分方式 48
3.1.1 可用的相似度模型 49
3.1.2 为每字段配置相似度模型 49
3.2 相似度模型配置 50
3.2.1 选择默认的相似度模型 51
3.2.2 配置被选用的相似度模型 52
3.3 使用编解码器 53
3.3.1 简单使用范例 53
3.3.2 工作原理解释 54
3.3.3 可用的倒排表格式 55
3.3.4 配置编解码器 56
3.4 准实时、提交、更新及事务日志 58
3.4.1 索引更新及更新提交 59
3.4.2 事务日志 60
3.4.3 准实时读取 62
3.5 深入理解数据处理 62
3.5.1 输入并不总是进行文本分析 62
3.5.2 范例的使用 65
3.5.3 索引期更换分词器 67
3.5.4 搜索时更换分析器 68
3.5.5 陷阱与默认分析 68
3.6 控制索引合并 68
3.6.1 选择正确的合并策略 69
3.6.2 合并策略配置 70
3.6.3 调度 72
3.7 小结 73
第4章 分布式索引架构 74
4.1 选择合适的分片和副本数 74
4.1.1 分片和过度分配 75
4.1.2 一个过度分配的正面例子 75
4.1.3 多分片与多索引 76
4.1.4 副本 76
4.2 路由 76
4.2.1 分片和数据 77
4.2.2 测试路由功能 77
4.2.3 索引时使用路由 80
4.2.4 别名 83
4.2.5 多个路由值 83
4.3 调整默认的分片分配行为 84
4.3.1 分片分配器简介 84
4.3.2 even_shard 分片分配器 84
4.3.3 balanced分片分配器 85
4.3.4 自定义分片分配器 85
4.3.5 裁决者 86
4.4 调整分片分配 88
4.4.1 部署意识 89
4.4.2 过滤 91
4.4.3 运行时更新分配策略 92
4.4.4 确定每个节点允许的总分片数 93
4.4.5 更多的分片分配属性 96
4.5 查询执行偏好 97
4.6 应用我们的知识 99
4.6.1 基本假定 99
4.6.2 配置 100
4.6.3 变化来了 104
4.7 小结 105
第5章 管理ElasticSearch 106
5.1 选择正确的目录实现-存储模块 106
5.2 发现模块的配置 109
5.2.1 Zen发现 109
5.2.2 亚马逊EC2发现 111
5.2.3 本地网关 114
5.2.4 恢复配置 115
5.3 索引段统计 116
5.3.1 segments API简介 116
5.3.2 索引段信息的可视化 118
5.4 理解ElasticSearch缓存 119
5.4.1 过滤器缓存 119
5.4.2 字段数据缓存 121
5.4.3 清除缓存 126
5.5 小结 127
第6章 故障处理 129
6.1 了解垃圾回收器 129
6.1.1 Java内存 130
6.1.2 处理垃圾回收问题 131
6.1.3 在类UNIX系统中避免内存交换 135
6.2 关于I/O调节 136
6.2.1 控制IO节流 136
6.2.2 配置 136
6.3 用预热器提升查询速度 138
6.3.1 为什么使用预热器 138
6.3.2 操作预热器 138
6.3.3 测试预热器 141
6.4 热点线程 144
6.4.1 澄清热点线程API的用法误区 145
6.4.2 热点线程API的响应信息 145
6.5 现实场景 146
6.5.1 越来越差的性能 146
6.5.2 混杂的环境和负载不平衡 148
6.5.3 我的服务器出故障了 149
6.6 小结 150
第7章 改善用户搜索体验 151
7.1 改正用户拼写错误 151
7.1.1 测试数据 152
7.1.2 深入技术细节 152
7.1.3 completion suggester 168
7.2 改善查询相关性 172
7.2.1 数据 172
7.2.2 改善相关性的探索之旅 174
7.3 小结 188
第8章 ElasticSearch Java API 189
8.1 ElasticSearch Java API简介 189
8.2 代码 190
8.3 连接到集群 191
8.3.1 成为ElasticSearch节点 191
8.3.2 使用传输机连接方式 192
8.3.3 选择合适的连接方式 193
8.4 API剖析 194
8.5 CRUD操作 195
8.5.1 读取文档 195
8.5.2 索引文档 197
8.5.3 更新文档 199
8.5.4 删除文档 201
8.6 ElasticSearch查询 203
8.6.1 准备查询请求 203
8.6.2 构造查询 203
8.6.3 分页 206
8.6.4 排序 207
8.6.5 过滤 207
8.6.6 切面计算 208
8.6.7 高亮 209
8.6.8 查询建议 209
8.6.9 计数 210
8.6.10 滚动 211
8.7 批量执行多个操作 211
8.7.1 批量操作 211
8.7.2 根据查询删除文档 212
8.7.3 Multi GET 212
8.7.4 Multi Search 212
8.8 Percolator 213
8.9 explain API 214
8.10 构造JSON格式的查询和文档 214
8.11 管理API 216
8.11.1 集群管理API 216
8.11.2 索引管理API 219
8.12 小结 226
第9章 开发ElasticSearch插件 227
9.1 建立Apache Maven项目结构 227
9.1.1 了解基本知识 228
9.1.2 Maven Java项目的结构 228
9.1.3 POM的理念 228
9.1.4 运行构建过程 229
9.1.5 引入Maven装配插件 230
9.2 创建一个自定义river插件 232
9.2.1 实现细节 232
9.2.2 测试river 238
9.3 创建自定义分析插件 240
9.3.1 实现细节 240
9.3.2 测试自定义分析插件 247
9.4 小结 249
· · · · · · (收起)
原文摘录 · · · · · ·
丛书信息
· · · · · ·
喜欢读"深入理解ElasticSearch"的人也喜欢的电子书 · · · · · ·
喜欢读"深入理解ElasticSearch"的人也喜欢 · · · · · ·
深入理解ElasticSearch的书评 · · · · · · ( 全部 4 条 )
不是深入理解JVM的“深入”,更像是对官方文档的一些解释
感觉大部分内容是直接用百度翻译而来
> 更多书评 4篇
论坛 · · · · · ·
在这本书的论坛里发言这本书的其他版本 · · · · · · ( 全部4 )
-
Packt Publishing (2013)暂无评分 7人读过
-
机械工业出版社 (2017)6.6分 11人读过
-
Packt Publishing - ebooks Account (2015)暂无评分 1人读过
以下书单推荐 · · · · · · ( 全部 )
- 书单-❤️书 (葡萄)
- 书单|elasticsearch (jsts)
- 谋财害命的翻译 (胡二)
- 计算机 (超仔)
- 数据库 (Lmage)
谁读这本书? · · · · · ·
二手市场
· · · · · ·
- 在豆瓣转让 有104人想读,手里有一本闲着?
订阅关于深入理解ElasticSearch的评论:
feed: rss 2.0
0 有用 胡二 2021-06-23 14:31:55
翻译,永远的痛
0 有用 Gabriel Fu 2020-05-10 16:44:40
略微浅显,对原理讲的不多
0 有用 usc3l 2016-12-15 23:14:17
手册类。ES发展的越来越好,版本更新后也更好使用,不过一些细微的不同都带来了不同的结果是需要从原理分析才知道为什么。
0 有用 葛大爷 2019-02-27 19:02:19
还行,就是版本太老了
0 有用 达不溜王 2020-04-20 00:33:48
讲得比较浅,宏观介绍了设计和架构,比较多篇幅在介绍ES的API怎么用,各节点分工之类,适合入门了解。翻译实在是太挫了,错误很多,建议对照着elastic官网手册看。kindle版真贵……
0 有用 西泽新兵卫 2023-02-25 09:23:55 北京
2016年读。
0 有用 yeet 2022-02-04 12:57:56
入门作用
1 有用 _安瑶 2021-12-21 19:34:21
入个门,但是版本很老了,看着有点费劲。
0 有用 胡二 2021-06-23 14:31:55
翻译,永远的痛
0 有用 Better_Levi 2021-06-05 19:48:00
书中的ES版本太旧了,而且更像是手册,介绍各种配置,但目前ES7已经处理了很多配置而不再需要用户自定义,参考性不太大。大概浏览了一遍,没有介绍过多的ES本身的设计思想。