𝔖 Scriptorium
✦   LIBER   ✦

📁

Elasticsearch实战


Tongue
Chinese
Leaves
361
Category
Library

⬇  Acquire This Volume

No coin nor oath required. For personal study only.

✦ Table of Contents


第1章 Elasticsearch介绍
1.1 用Elasticsearch解决搜索问题
1.1.1 提供快速查询
1.1.2 确保结果的相关性
1.1.3 超越精确匹配
1.2 探索典型的Elasticsearch使用案例
1.2.1 将Elasticsearch作为主要的后端系统
1.2.2 将Elasticsearch添加到现有的系统
1.2.3 将Elasticsearch和现有工具一同使用
1.2.4 Elasticsearch的主要特性
1.2.5 扩展Lucene的功能
1.2.6 在Elasticsearch中组织数据
1.2.7 安装Java语言
1.2.8 下载并启动Elasticsearch
1.2.9 验证是否工作
1.3 小结
第2章 深入功能
2.1 理解逻辑设计:文档、类型和索引
2.1.1 文档
2.1.2 类型
2.1.3 索引
2.2 理解物理设计:节点和分片
2.2.1 创建拥有一个或多个节点的集群
2.2.2 理解主分片和副本分片
2.2.3 在集群中分发分片
2.2.4 分布式索引和搜索
2.3 索引新数据
2.3.1 通过cURL索引一篇文档
2.3.2 创建索引和映射类型
2.3.3 通过代码样例索引文档
2.4 搜索并获取数据
2.4.1 在哪里搜索
2.4.2 回复的内容
2.4.3 如何搜索
2.4.4 通过ID获取文档
2.5 配置Elasticsearch
2.5.1 在elasticsearch.yml中指定集群的名称
2.5.2 通过logging.yml指定详细日志记录
2.5.3 调整JVM设置
2.6 在集群中加入节点
2.6.1 启动第二个节点
2.6.2 增加额外的节点
2.7 小结
第3章 索引、更新和删除数据
3.1 使用映射来定义各种文档
3.1.1 检索和定义映射
3.1.2 扩展现有的映射
3.2 用于定义文档字段的核心类型
3.2.1 字符串类型
3.2.2 数值类型
3.2.3 日期类型
3.2.4 布尔类型
3.3 数组和多字段
3.3.1 数组
3.3.2 多字段
3.4 使用预定义字段
3.4.1 控制如何存储和搜索文档
3.4.2 识别文档
3.5 更新现有文档
3.5.1 使用更新API
3.5.2 通过版本来实现并发控制
3.6 删除数据
3.6.1 删除文档
3.6.2 删除索引
3.6.3 关闭索引
3.6.4 重新索引样本文档
3.7 小结
第4章 搜索数据
4.1 搜索请求的结构
4.1.1 确定搜索范围
4.1.2 搜索请求的基本模块
4.1.3 基于请求主体的搜索请求
4.1.4 理解回复的结构
4.2 介绍查询和过滤器DSL
4.2.1 match查询和term过滤器
4.2.2 常用的基础查询和过滤器
4.2.3 match查询和term过滤器
4.2.4 phrase_prefix查询
4.3 组合查询或复合查询
4.3.1 bool查询
4.3.2 bool过滤器
4.4 超越match和过滤器查询
4.4.1 range查询和过滤器
4.4.2 prefix查询和过滤器
4.4.3 wildcard查询
4.5 使用过滤器查询字段的存在性
4.5.1 exists过滤器
4.5.2 missing过滤器
4.5.3 将任何查询转变为过滤器
4.6 为任务选择最好的查询
4.7 小结
第5章 分析数据
5.1 什么是分析
5.1.1 字符过滤
5.1.2 切分为分词
5.1.3 分词过滤器
5.1.4 分词索引
5.2 为文档使用分析器
5.2.1 在索引创建时增加分析器
5.2.2 在Elasticsearch的配置中添加分析器
5.2.3 在映射中指定某个字段的分析器
5.3 使用分析API来分析文本
5.3.1 选择一个分析器
5.3.2 通过组合即兴地创建分析器
5.3.3 基于某个字段映射的分析
5.3.4 使用词条向量API来学习索引词条
5.4 分析器、分词器和分词过滤器
5.4.1 内置的分析器
5.4.2 分词器
5.4.3 分词过滤器
5.5 N元语法、侧边N元语法和滑动窗口
5.5.1 一元语法过滤器
5.5.2 二元语法过滤器
5.5.3 三元语法过滤器
5.5.4 设置min_gram和max_gram
5.5.5 侧边N元语法过滤器
5.5.6 N元语法的设置
5.5.7 滑动窗口分词过滤器
5.6 提取词干
5.6.1 算法提取词干
5.6.2 使用字典提取词干
5.6.3 重写分词过滤器的词干提取
5.7 小结
第6章 使用相关性进行搜索
6.1 Elasticsearch的打分机制
6.1.1 文档打分是如何运作的
6.1.2 词频
6.1.3 逆文档频率
6.1.4 Lucene评分公式
6.2 其他打分方法
6.3 boosting
6.3.1 索引期间的boosting
6.3.2 查询期间的boosting
6.3.3 跨越多个字段的查询
6.4 使用“解释”来理解文档是如何被评分的
6.5 使用查询再打分来减小评分操作的性能影响
6.6 使用function_score来定制得分
6.6.1 weight函数
6.6.2 合并得分
6.6.3 field_value_factor函数
6.6.4 脚本
6.6.5 随机
6.6.6 衰减函数
6.6.7 配置选项
6.7 尝试一起使用它们吧
6.8 使用脚本来排序
6.9 字段数据
6.9.1 字段数据缓存
6.9.2 字段数据用在哪里
6.9.3 管理字段数据
6.10 小结
第7章 使用聚集来探索数据
7.1 理解聚集的具体结构
7.1.1 理解聚集请求的结构
7.1.2 运行在查询结果上的聚集
7.1.3 过滤器和聚集
7.2 度量聚集
7.2.1 统计数据
7.2.2 高级统计
7.2.3 近似统计
7.3 多桶型聚集
7.3.1 terms聚集
7.3.2 range聚集
7.3.3 histogram聚集
7.4 嵌套聚集
7.4.1 嵌套多桶聚集
7.4.2 通过嵌套聚集获得结果分组
7.4.3 使用单桶聚集
7.5 小结
第8章 文档间的关系
8.1 定义文档间关系的选项概览
8.1.1 对象类型
8.1.2 嵌套类型
8.1.3 父子关系
8.1.4 反规范化
8.2 将对象作为字段值
8.2.1 映射和索引对象
8.2.2 在对象中搜索
8.3 嵌套类型:联结嵌套的文档
8.3.1 映射并索引嵌套文档
8.3.2 搜索和聚集嵌套文档
8.4 父子关系:关联分隔的文档
8.4.1 子文档的索引、更新和删除
8.4.2 在父文档和子文档中搜索
8.5 反规范化:使用冗余的数据管理
8.5.1 反规范化的使用案例
8.5.2 索引、更新和删除反规范化的数据
8.5.3 查询反规范化的数据
8.6 应用端的连接
8.7 小结
第9章 向外扩展
9.1 向Elasticsearch集群加入节点
9.2 发现其他Elasticsearch节点
9.2.1 通过广播来发现
9.2.2 通过单播来发现
9.2.3 选举主节点和识别错误
9.2.4 错误的识别
9.3 删除集群中的节点
9.4 升级Elasticsearch的节点
9.4.1 进行轮流重启
9.4.2 最小化重启后的恢复时间
9.5 使用_cat API
9.6 扩展策略
9.6.1 过度分片
9.6.2 将数据切分为索引和分片
9.6.3 最大化吞吐量
9.7 别名
9.7.1 什么是别名
9.7.2 别名的创建
9.8 路由
9.8.1 为什么使用路由
9.8.2 路由策略
9.8.3 使用_search_shards API来决定搜索在哪里执行
9.8.4 配置路由
9.8.5 结合路由和别名
9.9 小结
第10章 提升性能
10.1 合并请求
10.1.1 批量索引、更新和 删除
10.1.2 多条搜索和多条获取 API接口
10.2 优化Lucene分段的 处理
10.2.1 刷新和冲刷的阈值
10.2.2 合并以及合并策略
10.2.3 存储和存储限流
10.3 充分利用缓存
10.3.1 过滤器和过滤器 缓存
10.3.2 分片查询缓存
10.3.3 JVM堆和操作系统 缓存
10.3.4 使用预热器让缓存 热身
10.4 其他的性能权衡
10.4.1 大规模的索引还是 昂贵的搜索
10.4.2 调优脚本,要么 别用它
10.4.3 权衡网络开销,更少的 数据和更好的分布式 得分
10.4.4 权衡内存,进行深度 分页
10.5 小结
第11章 管理集群
11.1 改善默认的配置
11.1.1 索引模板
11.1.2 默认的映射
11.2 分配的感知
11.2.1 基于分片的分配
11.2.2 强制性的分配感知
11.3 监控瓶颈
11.3.1 检查集群的健康 状态
11.3.2 CPU:慢日志、热线程和 线程池
11.3.3 内存:堆的大小、字段和 过滤器缓存
11.3.4 操作系统缓存
11.3.5 存储限流
11.4 备份你的数据
11.4.1 快照API
11.4.2 将数据备份到共享的文件系统
11.4.3 从备份中恢复
11.4.4 使用资料库插件
11.5 小结


📜 SIMILAR VOLUMES


Maven实战
✍ 许晓斌 📂 Library 📅 2010 🏛 机械工业出版社 🌐 Chinese
Kubernetes实战
✍ 吴龙辉 📂 Library 📅 2016 🏛 电子工业出版社 🌐 Chinese

<p>Docker的流行激活了一直不温不火的 PaaS,随之而来的是各类 Micro-PaaS的出现,Kubernetes是其中最具代表性的一员,它是 Google多年大规模容器管理技术的开源版本。越来越多的企业被迫面对互联网规模所带来的各类难题,而 Kubernetes以其优秀的理念和设计正在逐步形成新的技术标准,对于任何领域的运营总监、架构师和软件工程师来说,都是一个绝佳的突破机会。《Kubernetes实战》以理论加实战的模式,结合大量案例由浅入深地讲解了 Kubernetes的各个方面,包括平台架构、基础核心功能、网络、安全和资源管理以及整个生态系统的组成,旨在帮助读者全面深入地掌握

Redis实战
✍ Josiah L. Carlson 📂 Library 📅 2015 🏛 人民邮电出版社 🌐 Chinese

<p>【内容简介】</p> <p>本书深入浅出地介绍了Redis的5种数据类型,并通过多个实用示例展示了Redis的用法。除此之外,书中还讲述了Redis的优化方法以及扩展方法,是一本对于学习和使用 Redis 来说不可多得的参考书籍。</p> <p>本书一共由三个部分组成。第一部分对Redis进行了介 绍,说明了Redis的基本使用方法、它拥有的5种数据结构以及操作这5种数据结构的命令,并讲解了如何使用Redis去构建文章展示网站、cookie、购物车、网页缓存、数据库行缓存等一系列程序。第二部分对Redis命令进行了更详细的介绍,并展示了如何使用Redis去构建更为复杂的辅助工具和应用程序

Redis实战
✍ Josiah L. Carlson 📂 Library 📅 2015 🏛 人民邮电出版社 🌐 Chinese

<p>【内容简介】</p> <p>本书深入浅出地介绍了Redis的5种数据类型,并通过多个实用示例展示了Redis的用法。除此之外,书中还讲述了Redis的优化方法以及扩展方法,是一本对于学习和使用 Redis 来说不可多得的参考书籍。</p> <p>本书一共由三个部分组成。第一部分对Redis进行了介 绍,说明了Redis的基本使用方法、它拥有的5种数据结构以及操作这5种数据结构的命令,并讲解了如何使用Redis去构建文章展示网站、cookie、购物车、网页缓存、数据库行缓存等一系列程序。第二部分对Redis命令进行了更详细的介绍,并展示了如何使用Redis去构建更为复杂的辅助工具和应用程序

MongoDB实战
✍ Kyle Banker 📂 Library 📅 2012 🏛 人民邮电出版社 🌐 Chinese

<p>内容简介:</p> <p>MongoDB是为处理大数据而生的一款面向文档的数据库,由10gen公司开发和维护。本书作者Kyle Banker曾在该公司负责MongoDB驱动程序的维护,对各方面技术细节都了如指掌,本书也是在大量第一手资料的基础上形成的,其权威性毋庸置疑。</p> <p>本书基于MongoDB 2.0+,全面系统地讲解了设计、实现、安装和维护MongoDB的各方面内容。全书分三部分,第一部分从基于文档的数据与传统关系型数据库的差别讲起,介绍了MongoDB的基本概念及安装使用。第二部分是一个实战式教程,结合示例讲解了MongoDB的CRUD操作,以及实现系统安全、灵活和高效

TypeScript实战
✍ 汪明 📂 Library 📅 2019 🏛 清华大学出版社 🌐 Chinese

<p>微软推出的开源TypeScript语言是JavaScript的超集,引入了静态类型和面向对象的若干特征,可以分模块构建易维护的JavaScript代码。该书用于TypeScript 3.3.3入门,以构建大型可扩展的Web应用。</p> <p>《TypeScript实战/Web前端技术丛书》分为10章,介绍TypeScript的基本类型、变量、运算符、数字和字符串,流程控制,数组、元组、迭代器和生成器,函数,常用的几款工具,面向对象编程,泛型,声明文件与项目配置,以及App实战项目等。最后,给出TypeScript JSX的基础内容作为参考。作者还为每章配备了课件与教学视频,方便自学。