译者序
前言
致谢
作者简介
审阅者简介
第1章 回顾Elasticsearch与演进历史 1
11 Apache Lucene简介 1
111 更深入地了解Lucene索引 2
112 Elasticsearch概览 7
12 Elasticsearch 5x介绍 8
121 Elasticsearch新特性简介 9
122 Elasticsearch的演进 10
123 2x到5x的变化 14
13 小结 16
第2章 查询DSL进阶 17
21 Lucene的新默认文本评分机制——BM25 17
211 理解精确率与召回率 18
212 回顾TF-IDF 18
213 BM25与TF-IDF有什么不同 21
22 查询DSL重构 22
23 为任务选择合适的查询 22
231 查询方式分类 22
232 使用示例 27
233 查询DSL的其他重要变化 36
24 查询改写 37
241 前缀查询示例 37
242 回到Apache Lucene 39
243 查询改写的属性 40
25 查询模板 43
251 引入查询模板 43
252 Mustache模板引擎 45
26 小结 49
第3章 不只是文本搜索 50
31 多匹配控制 50
32 多匹配类型 51
321 最佳字段匹配 51
322 跨字段匹配 54
323 最多字段匹配 55
324 短语匹配 56
325 带前缀的短语匹配 56
33 用函数得分查询控制分数 57
34 函数得分查询下的内嵌函数 58
341 weight函数 58
342 字段值因子函数 59
343 脚本评分函数 60
344 衰变函数——linear、exp和gauss 60
35 查询二次评分 61
36 二次评分查询的结构 62
37 Elasticsearch脚本 66
371 语法 66
372 Elasticsearch各版本中脚本的变化 66
38 新的默认脚本语言Painless 67
381 用Painless写脚本 67
382 示例 69
383 用脚本为结果排序 71
384 按多个字段排序 72
39 Lucene表达式 73
391 基础知识 73
392 一个例子 73
310 小结 75
第4章 数据建模与分析 76
41 Elasticsearch中的数据建模方法 76
42 管理Elasticsearch中的关系型数据 77
421 对象类型 77
422 嵌套文档 80
423 父子关系 82
424 其他可选方案 84
425 数据反范式的例子 84
43 用聚合做数据分析 85
431 Elasticsearch 50的快速聚合 85
432 重温聚合 86
433 一类新的聚合:矩阵聚合 93
44 小结 96
第5章 改善用户搜索体验 97
51 改正用户拼写错误 97
511 测试数据 98
512 深入技术细节 99
52 suggester 99
521 在_search端点下使用suggester 99
522 term suggester 103
523 phrase suggester 105
524 completion suggester 113
53 实现自己的自动完成功能 117
54 处理同义词 120
541 为同义词搜索准备settings 120
542 格式化同义词 121
543 同义词扩展与收缩 122
55 小结 123
第6章 分布式索引架构 125
61 配置示例的多节点集群 125
62 选择合适数量的分片和副本 127
621 分片和预分配 127
622 预分配的正面例子 128
623 多分片与多索引 128
63 路由 129
631 分片和数据 129
632 测试路由功能 130
633 在索引过程中使用路由 132
634 路由实战 132
635 查询 134
636 别名 136
637 多值路由 137
64 分片分配控制 137
641 部署意识 138
642 确定每个节点允许的总分片数 142
643 确定每台物理服务器允许的总分片数 143
65 查询执行偏好 146
651 preference参数 146
652 使用查询执行偏好的例子 148
66 将数据切分到多个路径中 148
67 索引与类型——创建索引的改进方法 148
68 小结 149
第7章 底层索引控制 150
71 改变Apache Lucene的评分方式 150
72 可用的相似度模型 151
73 为每个字段配置相似度模型 151
74 相似度模型配置 152
75 选择默认的相似度模型 153
76 选择合适的目录实现——store模块 156
77 存储类型 156
78 准实时、提交、更新及事务日志 158
781 索引更新及更新提交 159
782 更改默认的刷新时间 159
783 事务日志 160
784 实时读取 161
79 控制段合并 162
791 Elasticsearch合并策略的变化 163
792 配置tiered合并策略 163
793 合并调度 164
794 强制合并 165
710 理解Elasticsearch缓存 166
7101 节点查询缓存 166
7102 分片查询缓存 166
7103 字段数据缓存 168
7104 使用circuit breaker 168
711 小结 169
第8章 管理Elasticsearch 170
81 Elasticsearch的节点类型 170
811 数据节点 171
812 主节点 171
813 Ingest节点 171
814 部落节点 172
815 协调节点/客户端节点 172
82 发现和恢复模块 172
821 发现模块的配置 173
822 网关和恢复模块的配置 177
823 索引恢复API 179
83 使用对人类友好的Cat API 182
831 Cap API的基础知识 183
832 使用Cat API 184
84 备份 18