当前位置:主页 > 书籍配套资源 > Elasticsearch配套资源
《深入理解Elasticsearch(原书第3版)》源码

《深入理解Elasticsearch(原书第3版)》源码

  • 更新:2022-01-28
  • 大小:6.8 MB
  • 类别:Elasticsearch
  • 作者:波哈维·荻西特
  • 出版:机械工业出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

本书在回顾Elasticsearch基础知识的同时,介绍了最新版本Elasticsearch 5的新功能,并对其中级和高级的功能(如查询、索引、搜索和修改数据)进行了详细说明。本书还将探索聚集、指标控制、分片、复制和聚类等概念,并通过实例展示监控管理模块、创建分析插件等。通过本书,读者可以对Elasticsearch 5有一个全面的认识并掌握其性能。

封面图

目录

  • 译者序
  • 前言
  • 致谢
  • 作者简介
  • 审阅者简介
  • 第1章回顾Elasticsearch与演进历史 1
  • 1.1Apache Lucene简介 1
  • 1.1.1更深入地了解Lucene索引 2
  • 1.1.2Elasticsearch概览 7
  • 1.2Elasticsearch 5.x介绍 8
  • 1.2.1Elasticsearch新特性简介 9
  • 1.2.2Elasticsearch的演进 10
  • 1.2.32.x到5.x的变化 14
  • 1.3小结 16
  • 第2章查询DSL进阶 17
  • 2.1Lucene的新默认文本评分机制——BM25 17
  • 2.1.1理解精确率与召回率 18
  • 2.1.2回顾TF-IDF 18
  • 2.1.3BM25与TF-IDF有什么不同 21
  • 2.2查询DSL重构 22
  • 2.3为任务选择合适的查询 22
  • 2.3.1查询方式分类 22
  • 2.3.2使用示例 27
  • 2.3.3查询DSL的其他重要变化 36
  • 2.4查询改写 37
  • 2.4.1前缀查询示例 37
  • 2.4.2回到Apache Lucene 39
  • 2.4.3查询改写的属性 40
  • 2.5查询模板 43
  • 2.5.1引入查询模板 43
  • 2.5.2Mustache模板引擎 45
  • 2.6小结 49
  • 第3章不只是文本搜索 50
  • 3.1多匹配控制 50
  • 3.2多匹配类型 51
  • 3.2.1最佳字段匹配 51
  • 3.2.2跨字段匹配 54
  • 3.2.3最多字段匹配 55
  • 3.2.4短语匹配 56
  • 3.2.5带前缀的短语匹配 56
  • 3.3用函数得分查询控制分数 57
  • 3.4函数得分查询下的内嵌函数 58
  • 3.4.1weight函数 58
  • 3.4.2字段值因子函数 59
  • 3.4.3脚本评分函数 60
  • 3.4.4衰变函数——linear、exp和gauss 60
  • 3.5查询二次评分 61
  • 3.6二次评分查询的结构 62
  • 3.7Elasticsearch脚本 66
  • 3.7.1语法 66
  • 3.7.2Elasticsearch各版本中脚本的变化 66
  • 3.8新的默认脚本语言Painless 67
  • 3.8.1用Painless写脚本 67
  • 3.8.2示例 69
  • 3.8.3用脚本为结果排序 71
  • 3.8.4按多个字段排序 72
  • 3.9Lucene表达式 73
  • 3.9.1基础知识 73
  • 3.9.2一个例子 73
  • 3.10小结 75
  • 第4章数据建模与分析 76
  • 4.1Elasticsearch中的数据建模方法 76
  • 4.2管理Elasticsearch中的关系型数据 77
  • 4.2.1对象类型 77
  • 4.2.2嵌套文档 80
  • 4.2.3父子关系 82
  • 4.2.4其他可选方案 84
  • 4.2.5数据反范式的例子 84
  • 4.3用聚合做数据分析 85
  • 4.3.1Elasticsearch 5.0的快速聚合 85
  • 4.3.2重温聚合 86
  • 4.3.3一类新的聚合:矩阵聚合 93
  • 4.4小结 96
  • 第5章改善用户搜索体验 97
  • 5.1改正用户拼写错误 97
  • 5.1.1测试数据 98
  • 5.1.2深入技术细节 99
  • 5.2suggester 99
  • 5.2.1在_search端点下使用suggester 99
  • 5.2.2term suggester 103
  • 5.2.3phrase suggester 105
  • 5.2.4completion suggester 113
  • 5.3实现自己的自动完成功能 117
  • 5.4处理同义词 120
  • 5.4.1为同义词搜索准备settings 120
  • 5.4.2格式化同义词 121
  • 5.4.3同义词扩展与收缩 122
  • 5.5小结 123
  • 第6章分布式索引架构 125
  • 6.1配置示例的多节点集群 125
  • 6.2选择合适数量的分片和副本 127
  • 6.2.1分片和预分配 127
  • 6.2.2预分配的正面例子 128
  • 6.2.3多分片与多索引 128
  • 6.3路由 129
  • 6.3.1分片和数据 129
  • 6.3.2测试路由功能 130
  • 6.3.3在索引过程中使用路由 132
  • 6.3.4路由实战 132
  • 6.3.5查询 134
  • 6.3.6别名 136
  • 6.3.7多值路由 137
  • 6.4分片分配控制 137
  • 6.4.1部署意识 138
  • 6.4.2确定每个节点允许的总分片数 142
  • 6.4.3确定每台物理服务器允许的总分片数 143
  • 6.5查询执行偏好 146
  • 6.5.1preference参数 146
  • 6.5.2使用查询执行偏好的例子 148
  • 6.6将数据切分到多个路径中 148
  • 6.7索引与类型——创建索引的改进方法 148
  • 6.8小结 149
  • 第7章底层索引控制 150
  • 7.1改变Apache Lucene的评分方式 150
  • 7.2可用的相似度模型 151
  • 7.3为每个字段配置相似度模型 151
  • 7.4相似度模型配置 152
  • 7.5选择默认的相似度模型 153
  • 7.6选择合适的目录实现——store模块 156
  • 7.7存储类型 156
  • 7.8准实时、提交、更新及事务日志 158
  • 7.8.1索引更新及更新提交 159
  • 7.8.2更改默认的刷新时间 159
  • 7.8.3事务日志 160
  • 7.8.4实时读取 161
  • 7.9控制段合并 162
  • 7.9.1Elasticsearch合并策略的变化 163
  • 7.9.2配置tiered合并策略 163
  • 7.9.3合并调度 164
  • 7.9.4强制合并 165
  • 7.10理解Elasticsearch缓存 166
  • 7.10.1节点查询缓存 166
  • 7.10.2分片查询缓存 166
  • 7.10.3字段数据缓存 168
  • 7.10.4使用circuit breaker 168
  • 7.11小结 169
  • 第8章管理Elasticsearch 170
  • 8.1Elasticsearch的节点类型 170
  • 8.1.1数据节点 171
  • 8.1.2主节点 171
  • 8.1.3Ingest节点 171
  • 8.1.4部落节点 172
  • 8.1.5协调节点/客户端节点 172
  • 8.2发现和恢复模块 172
  • 8.2.1发现模块的配置 173
  • 8.2.2网关和恢复模块的配置 177
  • 8.2.3索引恢复API 179
  • 8.3使用对人类友好的Cat API 182
  • 8.3.1Cap API的基础知识 183
  • 8.3.2使用Cat API 184
  • 8.4备份 186
  • 8.4.1快照API 187
  • 8.4.2在文件系统中保存备份 187
  • 8.4.3在云中保存备份 189
  • 8.5快照恢复 193
  • 8.6小结 196
  • 第9章数据转换与联盟搜索 197
  • 9.1用ingest节点在Elasticsearch里对数据进行预处理 197
  • 9.1.1使用ingest管道 198
  • 9.1.2处理管道中的错误 202
  • 9.1.3使用ingest处理器 204
  • 9.2联盟搜索 208
  • 9.2.1测试集群 208
  • 9.2.2建立部落节点 209
  • 9.2.3通过部落节点读取数据 211
  • 9.2.4主节点级别的读操作 212
  • 9.2.5通过部落节点写入数据 213
  • 9.2.6主节点级别的写操作 213
  • 9.2.7处理索引冲突 213
  • 9.2.8屏蔽写操作 215
  • 9.3小结 215
  • 第10章提升性能 216
  • 10.1查询验证与分析器 216
  • 10.1.1在执行前就验证代价大的查询 217
  • 10.1.2获得详细查询执行报告的查询分析器 219
  • 10.1.3关于查询分析用途的思考 221
  • 10.2热点线程 222
  • 10.2.1热点线程的使用说明 222
  • 10.2.2热点线程API的响应 223
  • 10.3扩展Elasticsearch集群 224
  • 10.3.1垂直扩展 224
  • 10.3.2水平扩展 225
  • 10.3.3在高负载的场景下使用Elasticsearch 231
  • 10.4用shrink和rollover API高效管理基于时间的索引 242
  • 10.4.1shrink API 243
  • 10.4.2 rollover API 244
  • 10.5小结 246
  • 第11章开发Elastisearch插件 247
  • 11.1创建Apache Maven的项目架构 247
  • 11.1.1了解基础知识 248
  • 11.1.2Maven Java项目的结构 248
  • 11.2创建自定义REST行为插件 252
  • 11.2.1设定 252
  • 11.2.2实现细节 252
  • 11.2.3测试阶段 256
  • 11.2.4检验REST行为插件是否工作正常 257
  • 11.3创建自定义分析插件 258
  • 11.3.1实现细节 258
  • 11.3.2测试自定义分析插件 262
  • 11.4小结 264
  • 第12章介绍Elastic Stack 5.0 265
  • 12.1Elastic Stack 5.0简介 265
  • 12.2介绍Logstash、Beats和Kibana 266
  • 12.2.1使用Logstash 266
  • 12.2.2引入Beats作为数据传输器 271
  • 12.2.3使用Kibana 273
  • 12.3小结 282

资源下载

资源下载地址1:https://pan.baidu.com/s/18x4gggE6xr5rKbKOYgfN6Q

相关资源

网友留言