深入理解ElasticSearch(PDF版 内含目录)
深入理解ElasticSearch
介绍:
本书涵盖了Elasticsearch的许多中高级功能,并介绍了缓存、ApacheLucene库以及监控等模块的内部运作机制。其中,还涉及一些实用案例,比如配置Elasticsearch参数、使用监控API等。
目录:
前言
第1章 Elasticsearch简介1
1.1 Apache Lucene简介1
1.1.1 熟悉Lucene2
1.1.2 Lucene的总体架构2
1.1.3 分析数据4
1.1.4 Lucene查询语言5
1.2 何为Elasticsearch8
1.2.1 Elasticsearch的基本概念8
1.2.2 Elasticsearch架构背后的关键概念10
1.2.3 Elasticsearch的工作流程10
1.3 在线书店示例14
1.4 小结17
第2章 查询DSL进阶18
2.1 Apache Lucene默认评分公式解释18
2.1.1 何时文档被匹配上19
2.1.2 TF/IDF评分公式19
2.1.3 Elasticsearch如何看评分21
2.1.4 一个例子21
2.2 查询改写24
2.2.1 前缀查询示例24
2.2.2 回到Apache Lucene26
2.2.3 查询改写的属性28
2.3 查询模板30
2.3.1 引入查询模板31
2.3.2 Mustache模板引擎33
2.3.3 把查询模板保存到文件35
2.4 过滤器的使用及作用原理36
2.4.1 过滤及查询相关性36
2.4.2 过滤器的工作原理40
2.4.3 性能考量41
2.4.4 后置过滤和过滤查询42
2.4.5 选择正确的过滤方式44
2.5 选择正确的查询方式45
2.5.1 查询方式分类45
2.5.2 使用示例50
2.6 小结65
第3章 不只是文本搜索66
3.1 查询二次评分66
3.1.1 什么是查询二次评分67
3.1.2 一个查询例子67
3.1.3 二次评分查询的结构67
3.1.4 二次评分参数70
3.1.5 总结70
3.2 多匹配控制71
3.3 重要词项聚合78
3.3.1 一个例子79
3.3.2 选择重要词项81
3.3.3 多值分析81
3.3.4 额外的配置84
3.3.5 使用限制89
3.4 文档分组89
3.4.1 top_hits聚合90
3.4.2 一个例子90
3.5 文档关系95
3.5.1 对象类型95
3.5.2 嵌套文档98
3.5.3 parent-child关系99
3.5.4 其他解决方案102
3.6 Elasticsearch各版本中脚本的变化102
3.6.1 脚本变迁102
3.6.2 Groovy简单介绍103
3.6.3 全文检索中的脚本108
3.6.4 Lucene表达式115
3.7 小结118
第4章 改善用户搜索体验119
4.1 改正用户拼写错误119
4.1.1 测试数据120
4.1.2 深入技术细节121
4.1.3 suggester121
4.2 改善查询相关性142
4.2.1 数据142
4.2.2 改善相关性的探索之旅145
4.3 小结157
第5章 分布式索引架构159
5.1 选择合适的分片和副本数159
5.1.1 分片和过度分配160
5.1.2 一个过度分配的正面例子161
5.1.3 多分片与多索引161
5.1.4 副本161
5.2 路由162
5.2.1 分片和数据162
5.2.2 测试路由功能162
5.2.3 索引时使用路由166
5.2.4 别名169
5.2.5 多个路由值169
5.3 调整默认分片的分配行为170
5.3.1 部署意识171
5.3.2 过滤173
5.3.3 运行时更新分配策略174
5.3.4 确定每个节点允许的总分片数175
5.3.5 确定每个物理机器允许的总分片数175
5.4 查询执行偏好179
5.5 小结181
第6章 底层索引控制182
6.1 改变Apache Lucene的评分方式182
6.1.1 可用的相似度模型183
6.1.2 为每字段配置相似度模型183
6.1.3 相似度模型配置184
6.1.4 选择默认的相似度模型185
6.2 选择适当的目录实现—store模块188
6.3 准实时、提交、更新及事务日志191
6.3.1 索引更新及更新提交192
6.3.2 事务日志193
6.3.3 准实时读取194
6.4 控制索引合并195
6.4.1 选择正确的合并策略196
6.4.2 合并策略配置197
6.4.3 调度199
6.5 关于I/O调节200
6.5.1 控制I/O节流200
6.5.2 配置200
6.6 理解Elasticsearch缓存202
6.6.1 过滤器缓存203
6.6.2 字段数据缓存204
6.6.3 查询分片缓存212
6.6.4 使用circuit breaker213
6.6.5 清除缓存214
6.7 小结215
第7章 管理Elasticsearch216
7.1 发现和恢复模块216
7.1.1 发现模块的配置217
7.1.2 主节点218
7.1.3 网关和恢复模块的配置223
7.1.4 索引恢复API226
7.2 使用人类友好的Cat API 229
7.2.1 基础知识230
7.2.2 使用Cat API231
7.2.3 一些例子232
7.3 备份232
7.4 联盟搜索236
7.4.1 测试用的集群236
7.4.2 建立部落节点237
7.4.3 通过部落节点读取数据238
7.4.4 通过部落节点写入数据239
7.4.5 处理索引冲突240
7.4.6 屏蔽写操作241
7.5 小结242
第8章 提高性能243
8.1 使用doc values来优化查询243
8.1.1 字段缓存存在的问题244
8.1.2 使用doc values的例子245
8.2 了解垃圾回收器247
8.2.1 Java内存248
8.2.2 解决垃圾回收问题249
8.2.3 在类UNIX系统上避免内存交换254
8.3 对查询做基准测试255
8.3.1 为基准测试配置集群256
8.3.2 进行基准测试256
8.3.3 控制运行中的基准测试259
8.4 热点线程261
8.4.1 热点线程的使用说明261
8.4.2 热点线程API的响应262
8.5 扩展Elasticsearch263
8.5.1 垂直扩展263
8.5.2 水平扩展264
8.5.3 在高负载的场景下使用Elasticsearch271
8.6 小结283
第9章 开发Elasticsearch插件284
9.1 创建Maven项目284
9.2 了解基本知识285
9.2.1 Maven Java项目的结构285
9.2.2 POM的理念285
9.2.3 执行构建过程286
9.2.4 引入Maven装配插件287
9.3 创建自定义REST行为289
9.3.1 设定289
9.3.2 实现细节289
9.4 创建自定义分析插件295
9.4.1 实现细节295
9.4.2 测试自定义分析插件302
9.5 小结304
下载地址:https://pan.baidu.com/s/1TxDu4q5HEBOKMcatoDEL3g
关注微信公众号获取提取码:
输入:esms 获取提取码。
深入理解ElasticSearch(PDF版 内含目录)的更多相关文章
- Spring Cloud与Docker微服务架构实战 PDF版 内含目录
Spring Cloud与Docker微服务架构实战 目录 1 微服务架构概述 1 1.1 单体应用架构存在的问题1 1.2 如何解决单体应用架构存在的问题3 1.3 什么是微服务3 1.4 微服务 ...
- Elasticsearch集成Hadoop最佳实践.pdf(内含目录)
Elasticsearch服务器开发(第2版) 介绍: ElasticSearch是一个开源的分布式搜索引擎,具有高可靠性,支持非常多的企业级搜索用例.ElasticsearchHadoop作为一个完 ...
- Elasticsearch技术解析与实战 PDF (内含目录)
Elasticsearch技术解析与实战 介绍: Elasticsearch是一个强[0大0]的搜索引擎,提供了近实时的索引.搜索.分 ...
- HTML5+CSS3从入门到精通 中文pdf版
HTML5+CSS3从入门到精通是通过基础知识+中小实例+综合案例的方式,讲述了用HTML5+ CSS3设计构建网站的必备知识,相对于专业指南.高级程序设计.开发指南同类图书,本书是一本适合快速入手的 ...
- 对扫描的pdf文件生成目录
很多pdf文件是直接扫描生成的,于是它的内容都是一张张的图片,当然就更没有目录索引了. 有的时候想找某些内容,只能一点点的移动滚动条,非常不方便. 那么有什么方法能生成目录呢? 方法一:使用福昕pdf ...
- 最新的JavaScript知识总结,欢迎各位大佬指正,需要的留下邮箱,给你们发原稿(PDF版)
小编整理javascript用的是有道云笔记,导出的word版本,但是代码块显示格式是乱的,不便于阅读 所以,各位有需要的话,小编可以将导出的pdf版发给大家!pdf版跟word没有什么区别,知识没法 ...
- 《Python金融大数据分析》高清PDF版|百度网盘免费下载|Python数据分析
<Python金融大数据分析>高清PDF版|百度网盘免费下载|Python数据分析 提取码:mfku 内容简介 唯一一本详细讲解使用Python分析处理金融大数据的专业图书:金融应用开发领 ...
- 《Python Web开发学习实录》高清PDF版|百度网盘免费下载|Python Web开发学习实录
<Python Web开发学习实录>高清PDF版|百度网盘免费下载|Python Web开发学习实录 提取码:9w3o 内容简介 Python是目前流行的动态脚本语言之一. 李勇,本书共1 ...
- linux发行版基础目录
linux发行版基础目录 linux 基础目录 linux基础目录 目录 作用 / 根目录,起源 /boot linux引导启动目录 /lib 库目录 /bin 常用内部命令 /sbin 常用内部管理 ...
随机推荐
- Yum 安装memcached 与缓存清空
1.安装 root@pts/0 # yum -y install memcached 2.启动服务 root@pts/0 # /etc/init.d/memcached start 3 ...
- 集成腾讯Bugly日志- Android(1)
Bugly 是腾讯公司为移动开发者开放的服务之一,这里主要指 Crash 监控.崩溃分析等质量跟踪服务. 一.登录BUGLY官网 1.登录BUGLY官网以后,选择新建产品,选择IOS或ADNROID平 ...
- Springboot-data-jpa增删改查
导入依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http:/ ...
- (二)IDEA使用,快捷键
idea的快捷键设置: idea支持使用其他开发工具的快捷键,可以在此设置: idea 默认的本身的快捷键: 常用快捷键 Ctrl + Alt + s 打开设置选项 Alt + Enter 修复提示 ...
- 计算 byte[] 转 int modebus 指定位数 获取值 使用
计算 byte[] 转 int modebus 指定位数 获取值 使用 if (bytetores.Length > 6) { int total = 0; for (int i = 0; i ...
- 六.搭建基本的Web服务
1.安装httpd软件包 ]# yum -y install httpd 2.重起httpd服务 ]# systemctl restart httpd ]# systemctl enable http ...
- BZOJ 4332: JSOI2012 分零食 FFT+分治
好题好题~ #include <bits/stdc++.h> #define N 50020 #define ll long long #define setIO(s) freopen(s ...
- BZOJ 2064: 分裂 状压动归
最多的操作次数是 $n+m-1$ (相当于把第一个暴力合并,再暴力拆成第二个).如果第一个序列的一个子序列和第二个区间的子序列相等,那么总次数就可以减 $2$.将第二个序列所有数取反,直接求解有多少个 ...
- AtCoder Grand Contest 010题解
传送门 \(A\) 判一下奇数的个数就行了 const int N=1e5+5; int a[N],n,res; int main(){ scanf("%d",&n); f ...
- Android精通教程-Android入门简介
前言 大家好,我是 Vic,今天给大家带来Android精通教程-Android入门简介的概述,希望你们喜欢 每日一句 If life were predictable it would cease ...