[套装书]Elasticsearch搜索引擎构建入门与实战+深入理解Elasticsearch(原书第3版)(2册)

作者
高印会 等
丛书名
出版社
机械工业出版社
ISBN
9782111161415
简要
简介
内容简介书籍计算机书籍 ---------------------------8084689 - Elasticsearch搜索引擎构建入门与实战--------------------------- 本书从Elasticsearch的基本概念和原理讲起,然后系统介绍Elasticsearch的使用场景,带领读者近距离接触Elasticsearch。本书涵盖客户端的安装和使用、索引的创建、文档的操作、搜索匹配、搜索排序和聚合,可以帮助读者循序渐进地掌握Elasticsearch的相关知识。 本书共8章,分为3篇。第1篇“Elasticsearch基础”,主要介绍Elasticsearch的基础知识和基本用法;第2篇“Elasticsearch提高”,首先介绍文本搜索和排序原理,然后介绍聚合的使用方法;第3篇“Elasticsearch实战”,以酒店搜索为例,详细介绍Elasticsearch在实际搜索应用中涉及的相关技术,帮助读者全面了解搜索引擎,并提高开发水平。本书重点介绍Elasticsearch的核心功能——搜索匹配和排序,其中对中文匹配的实现用较大篇幅讲解,便于读者进行中文搜索的落地工作。另外,结合具体实例讲解排序功能,帮助读者更加透彻地理解Elasticsearch排序算法的原理。 本书内容丰富,语言通俗易懂,讲解图文并茂,案例典型而实用,适合Elasticsearch初学者和有一定基础而想提高水平的进阶人员阅读,另外还适合相关院校和培训机构作为教材。 ---------------------------8066075 - 深入理解Elasticsearch(原书第3版)--------------------------- 本书在回顾Elasticsearch基础知识的同时,介绍了最新版本Elasticsearch 5的新功能,并对其中级和高级的功能(如查询、索引、搜索和修改数据)进行了详细说明。本书还将探索聚集、指标控制、分片、复制和聚类等概念,并通过实例展示监控管理模块、创建分析插件等。通过本书,读者可以对Elasticsearch 5有一个全面的认识并掌握其性能。
目录
[套装书具体书目]
8066075 - 深入理解Elasticsearch(原书第3版) - 9787111643074 - 机械工业出版社 - 定价 89
8084689 - Elasticsearch搜索引擎构建入门与实战 - 9787111694229 - 机械工业出版社 - 定价 89.8



---------------------------8084689 - Elasticsearch搜索引擎构建入门与实战---------------------------


推荐序
前言
第1篇 Elasticsearch基础
第1章 Elasticsearch入门 2
1.1 Elasticsearch概述 2
1.1.1 Elasticsearch简介 2
1.1.2 Elasticsearch的基本概念 3
1.1.3 Elasticsearch和关系型数据库的对比 5
1.2 Elasticsearch的架构原理 7
1.2.1 节点职责 7
1.2.2 主分片和副分片 9
1.2.3 路由计算 10
1.2.4 文档读写过程 10
1.3 Elasticsearch的应用场景 12
1.3.1 搜索引擎 12
1.3.2 推荐系统 12
1.3.3 二级索引 13
1.3.4 日志分析 14
1.4 Elasticsearch的安装 14
1.4.1 单机模式安装 15
1.4.2 集群模式安装 16
1.5 Elasticsearch搜索入门 17
1.5.1 创建索引 17
1.5.2 写入文档 18
1.5.3 根据_id搜索文档 19
1.5.4 根据一般字段搜索文档 19
1.5.5 根据文本字段搜索文档 20
第2章 Elasticsearch客户端实战 22
2.1 Kibana客户端简介 22
2.1.1 Kibana的安装 22
2.1.2 在Kibana中搜索文档 23
2.2 Java客户端简介 24
2.2.1 Java客户端的使用 25
2.2.2 Java带验证客户端的使用 27
2.2.3 Java客户端搜索文档 28
2.3 Spring Boot客户端简介 31
2.3.1 创建Spring Boot客户端 31
2.3.2 Spring Boot客户端搜索文档 32
2.4 Jest客户端简介 33
2.4.1 创建Jest客户端 34
2.4.2 Jest客户端搜索文档 35
第3章 Elasticsearch基础操作 37
3.1 索引操作 37
3.1.1 创建索引 37
3.1.2 删除索引 38
3.1.3 关闭索引 38
3.1.4 打开索引 39
3.1.5 索引别名 39
3.2 映射操作 47
3.2.1 查看映射 47
3.2.2 扩展映射 48
3.2.3 基本的数据类型 49
3.2.4 复杂的数据类型 56
3.2.5 动态映射 61
3.2.6 多字段 61
3.3 文档操作 64
3.3.1 单条写入文档 64
3.3.2 批量写入文档 65
3.3.3 更新单条文档 67
3.3.4 批量更新文档 69
3.3.5 根据条件更新文档 70
3.3.6 删除单条文档 72
3.3.7 批量删除文档 73
3.3.8 根据条件删除文档 74
第4章 丰富的搜索功能 76
4.1 搜索辅助功能 76
4.1.1 指定返回的字段 76
4.1.2 结果计数 78
4.1.3 结果分页 79
4.1.4 性能分析 81
4.1.5 评分分析 85
4.2 丰富的搜索匹配功能 86
4.2.1 查询所有文档 87
4.2.2 term级别查询 88
4.2.3 布尔查询 96
4.2.4 filter查询原理 100
4.2.5 Constant Score查询 102
4.2.6 Function Score查询 104
4.2.7 全文搜索 106
4.2.8 基于地理位置查询 112
4.2.9 搜索建议 115
4.3 按字段值排序 118
4.3.1 按普通字段值排序 119
4.3.2 按地理距离排序 121
第2篇 Elasticsearch提高
第5章 文本搜索 126
5.1 文本搜索简介 126
5.1.1 文本的索引建立过程 126
5.1.2 文本的搜索过程 128
5.2 分析器简介 129
5.2.1 字符过滤器 130
5.2.2 分词器 131
5.2.3 分词过滤器 131
5.3 分析器的使用 132
5.3.1 测试分析API 132
5.3.2 内置分析器 134
5.3.3 索引时使用分析器 135
5.3.4 搜索时使用分析器 136
5.3.5 自定义分析器 136
5.4 中文分析器 138
5.4.1 中文分词介绍 139
5.4.2 IK分析器 140
5.4.3 HanLP分析器 144
5.5 使用同义词 147
5.5.1 建立索引时使用同义词 147
5.5.2 查询时使用同义词 149
5.6 使用停用词 154
5.6.1 使用停用词过滤器 154
5.6.2 在内置分析器中使用停用词 156
5.6.3 在IK分析器中使用停用词 156
5.6.4 在HanLP分析器中使用停用词 159
5.7 拼音搜索 161
5.7.1 拼音分析器插件的安装 162
5.7.2 拼音分析器插件的使用 163
5.8 高亮显示搜索 165
5.8.1 初步使用高亮显示搜索 166
5.8.2 选择高亮显示搜索策略 168
5.8.3 在Java客户端中进行高亮显示搜索 170
5.9 拼写纠错 171
5.9.1 使用Elasticsearch进行拼写纠错 171
5.9.2 更精准的拼写纠错 174
第6章 搜索排序 177
6.1 相关性排序 177
6.1.1 TF-IDF模型 177
6.1.2 向量空间模型 178
6.1.3 BM25算法简介 179
6.1.4 BM25实例解析 181
6.1.5 BM25参数调节 183
6.1.6 分布式场景对排序的影响 184
6.1.7 使用其他相关性算法 185
6.2 查询时设置权重 186
6.2.1 查询时boost参数的设置 186
6.2.2 在Java客户端中使用boost参数 192
6.2.3 boosting查询 193
6.2.4 在Java客户端中使用boosting查询 197
6.3 Function Score查询简介 198
6.3.1 简单函数 198
6.3.2 函数计算关系 202
6.3.3 衰减函数 203
6.4 Script Score查询简介 207
6.4.1 Painless简介 207
6.4.2 在Script Score中使用Painless 209
6.4.3 使用数组和集合 213
6.4.4 使用文档数据 214
6.4.5 向脚本传参 217
6.4.6 在Script Score中使用函数 219
6.4.7 在Java客户端中使用Script Score 224
6.4.8 练习Painless 225
6.5 二次打分 226
6.5.1 二次打分简介 226
6.5.2 使用示例 226
6.5.3 在Java客户端中使用二次打分 229
第7章 聚合 231
7.1 聚合指标 233
7.1.1 常见的统计指标 233
7.1.2 空值处理 236
7.2 桶聚合 239
7.2.1 单维度桶聚合 240
7.2.2 多维度桶嵌套聚合 246
7.2.3 地理距离聚合 249
7.3 聚合方式 253
7.3.1 直接聚合 253
7.3.2 先查询再聚合 254
7.3.3 前过滤器 255
7.3.4 后过滤器 257
7.4 聚合排序 258
7.4.1 按文档计数排序 259
7.4.2 按聚合指标排序 260
7.4.3 按分组key排序 262
7.5 聚合分页 264
7.5.1 Top hits聚合 264
7.5.2 Collapse聚合 268
第3篇 Elasticsearch实战
第8章 搜索实战 272
8.1 项目简介 272
8.1.1 背景简介 272
8.1.2 搜索建议功能简介 272
8.1.3 搜索功能简介 273
8.1.4 排序功能简介 274
8.2 技术方案 275
8.2.1 总体架构设计 275
8.2.2 组件简介 276
8.2.3 搜索建议方案 278
8.2.4 匹配方案 279
8.2.5 排序方案 280
8.3 搜索建议功能的实现 280
8.3.1 索引创建 280
8.3.2 后端服务 281
8.3.3 索引初始化 282
8.3.4 搜索建议服务 286
8.4 搜索功能的实现 288
8.4.1 项目创建 288
8.4.2 索引创建 289
8.4.3 数据初始化 290
8.4.4 整体工作 291
8.4.5 获取总页数 292
8.4.6 查询构建 293
8.4.7 结果处理和封装 296
8.4.8 对搜索排序进行打分 298
8.5 前端功能的实现 299
8.5.1 项目创建 299
8.5.2 请求转发 300
8.5.3 搜索建议交互 300
8.5.4 搜索交互 301



---------------------------8066075 - 深入理解Elasticsearch(原书第3版)---------------------------


译者序
前言
致谢
作者简介
审阅者简介
第1章 回顾Elasticsearch与演进历史 1
1.1 Apache Lucene简介 1
1.1.1 更深入地了解Lucene索引 2
1.1.2 Elasticsearch概览 7
1.2 Elasticsearch 5.x介绍 8
1.2.1 Elasticsearch新特性简介 9
1.2.2 Elasticsearch的演进 10
1.2.3 2.x到5.x的变化 14
1.3 小结 16
第2章 查询DSL进阶 17
2.1 Lucene的新默认文本评分机制——BM25 17
2.1.1 理解精确率与召回率 18
2.1.2 回顾TF-IDF 18
2.1.3 BM25与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.2 Mustache模板引擎 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.1 weight函数 58
3.4.2 字段值因子函数 59
3.4.3 脚本评分函数 60
3.4.4 衰变函数——linear、exp和gauss 60
3.5 查询二次评分 61
3.6 二次评分查询的结构 62
3.7 Elasticsearch脚本 66
3.7.1 语法 66
3.7.2 Elasticsearch各版本中脚本的变化 66
3.8 新的默认脚本语言Painless 67
3.8.1 用Painless写脚本 67
3.8.2 示例 69
3.8.3 用脚本为结果排序 71
3.8.4 按多个字段排序 72
3.9 Lucene表达式 73
3.9.1 基础知识 73
3.9.2 一个例子 73
3.10 小结 75
第4章 数据建模与分析 76
4.1 Elasticsearch中的数据建模方法 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.1 Elasticsearch 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.2 suggester 99
5.2.1 在_search端点下使用suggester 99
5.2.2 term suggester 103
5.2.3 phrase suggester 105
5.2.4 completion 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.1 preference参数 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.1 Elasticsearch合并策略的变化 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.1 Elasticsearch的节点类型 170
8.1.1 数据节点 171
8.1.2 主节点 171
8.1.3 Ingest节点 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.1 Cap 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.1 shrink 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.2 Maven 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.1 Elastic 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

推荐

车牌查询
桂ICP备20004708号-3