深入理解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版 内含目录)的更多相关文章

  1. Spring Cloud与Docker微服务架构实战 PDF版 内含目录

    Spring Cloud与Docker微服务架构实战  目录 1 微服务架构概述 1 1.1 单体应用架构存在的问题1 1.2 如何解决单体应用架构存在的问题3 1.3 什么是微服务3 1.4 微服务 ...

  2. Elasticsearch集成Hadoop最佳实践.pdf(内含目录)

    Elasticsearch服务器开发(第2版) 介绍: ElasticSearch是一个开源的分布式搜索引擎,具有高可靠性,支持非常多的企业级搜索用例.ElasticsearchHadoop作为一个完 ...

  3. Elasticsearch技术解析与实战 PDF (内含目录)

    Elasticsearch技术解析与实战                                  介绍: Elasticsearch是一个强[0大0]的搜索引擎,提供了近实时的索引.搜索.分 ...

  4. HTML5+CSS3从入门到精通 中文pdf版​

    HTML5+CSS3从入门到精通是通过基础知识+中小实例+综合案例的方式,讲述了用HTML5+ CSS3设计构建网站的必备知识,相对于专业指南.高级程序设计.开发指南同类图书,本书是一本适合快速入手的 ...

  5. 对扫描的pdf文件生成目录

    很多pdf文件是直接扫描生成的,于是它的内容都是一张张的图片,当然就更没有目录索引了. 有的时候想找某些内容,只能一点点的移动滚动条,非常不方便. 那么有什么方法能生成目录呢? 方法一:使用福昕pdf ...

  6. 最新的JavaScript知识总结,欢迎各位大佬指正,需要的留下邮箱,给你们发原稿(PDF版)

    小编整理javascript用的是有道云笔记,导出的word版本,但是代码块显示格式是乱的,不便于阅读 所以,各位有需要的话,小编可以将导出的pdf版发给大家!pdf版跟word没有什么区别,知识没法 ...

  7. 《Python金融大数据分析》高清PDF版|百度网盘免费下载|Python数据分析

    <Python金融大数据分析>高清PDF版|百度网盘免费下载|Python数据分析 提取码:mfku 内容简介 唯一一本详细讲解使用Python分析处理金融大数据的专业图书:金融应用开发领 ...

  8. 《Python Web开发学习实录》高清PDF版|百度网盘免费下载|Python Web开发学习实录

    <Python Web开发学习实录>高清PDF版|百度网盘免费下载|Python Web开发学习实录 提取码:9w3o 内容简介 Python是目前流行的动态脚本语言之一. 李勇,本书共1 ...

  9. linux发行版基础目录

    linux发行版基础目录 linux 基础目录 linux基础目录 目录 作用 / 根目录,起源 /boot linux引导启动目录 /lib 库目录 /bin 常用内部命令 /sbin 常用内部管理 ...

随机推荐

  1. Excel技巧大全

    1.一列数据同时除以10000 复制10000所在单元格,选取数据区域 - 选择粘性粘贴 - 除 2.同时冻结第1行和第1列 选取第一列和第一行交汇处的墙角位置B2,窗口 - 冻结窗格 3.快速把公式 ...

  2. 软件测试过程中如何区分什么是功能bug,什么是需求bug,什么是设计bug?

    问题描述: 测试过程中如何区分什么是功能bug,什么是需求bug,什么是设计bug? 精彩答案: 会员 土土的豆豆: 本期问题其实主要是针对不同方面或纬度上对于bug的一个归类和定位. 个人认为,从软 ...

  3. laravel5.8 编译laravel mix

    如果第一次无需执行(如果编译的时候出错再次执行才需要) 1:rm -rf node_modules 更改镜像为淘宝镜像 2:yarn config set registry https://regis ...

  4. tcp三次握手,四次挥手的形象类比图

  5. .net大文件分块上传断点续传demo

    IE的自带下载功能中没有断点续传功能,要实现断点续传功能,需要用到HTTP协议中鲜为人知的几个响应头和请求头. 一. 两个必要响应头Accept-Ranges.ETag 客户端每次提交下载请求时,服务 ...

  6. Pyspark 最近使用的一些有趣姿势的梳理

    之前对 SQL 还是不是非常熟悉的,但是现在或多或少还是会写一些计算任务.比如最近在推送将所有天级的耗时任务都从传统关系型数据库迁移至 Spark 集群当中进行计算,中间遇到一些有趣的小问题在这里记录 ...

  7. linux 使用yum安装mysql详细步骤

    环境:Centos 6.5 Linux 使用yum命令安装mysql 1. 先检查系统是否装有mysql [root@localhost ~]#yum list installed mysql* [r ...

  8. 第02组 Alpha冲刺(3/6)

    第02组 Alpha冲刺(3/6)   队名:無駄無駄组长博客作业博客 组员情况 张越洋 过去两天完成了哪些任务 摸鱼 提交记录(全组共用) 接下来的计划 沟通前后端成员,监督.提醒他们尽快完成各自的 ...

  9. DM当中用文本输入点【转载】

    摘自<ANSYS 13.0 Workbench数值模拟技术> 通过XYZ坐标的文本文件创建3D曲线,文本需要满足一定的格式,格式化文本中,#表示此行是注释,忽略空行,数据行包括5个数据域, ...

  10. 【opencv C++ linux】linux下编译含opencv的C++代码

    首先写一个简单的测试代码 #include <opencv2/opencv.hpp> #include <iostream> #include <string> u ...