深入理解ElasticSearch

深入理解ElasticSearch

云计算与虚拟化技术丛书

暂无评价综合评分的显示会考虑用户真实性等多项因素,每部作品出现综合评分的时间不定。
6.935 评价豆瓣读书
免费试读

作品简介

本书内容丰富,不仅深入介绍了Apache Lucene的评分机制、查询DSL、底层索引控制,而且介绍了ElasticSearch的分布式索引机制、系统监控及性能优化、用户体验的改善、Java API的使用,以及自定义插件的开发。本书文笔优雅,辅以大量翔实的实例,能帮助读者快速提高ElasticSearch水平。需要提醒读者的是,本书的目标读者是ElasticSearch的中高级用户,如果读者对ElasticSearch的基础概念诸如Mapping、Types等缺乏了解的话,可先阅读作者的另外一本针对初学者的书籍《ElasticSearch Server》。

拉斐尔·酷奇是一个很有天资的团队领袖及软件开发人员,现任Sematext集团公司的咨询专家及软件工程师,专注于开源技术,如Apache Lucene、Solr、ElasticSearch和Hadoop stack等,拥有超过11年的软件研发经验,涉及领域广阔,从银行软件到电子商务产品。他主要侧重于Java平台,但对能提高研发效率的任何其他工具或编程语言都抱有极高的热情。同时他也是solr.pl网站的创始人之一,该网站致力于帮助人们解决Solr和Lucene的相关问题。他还是世界范围内各种会议热邀的演讲嘉宾,曾受邀出席过Lucene Eurocon、Berlin Buzzwords、ApacheCon、Lucene Revolution等会议。

作品目录

  1. 译者序
  2. 前言
  3. 致谢
  4. 作者简介
  5. 评审者简介
  6. 第1章 ElasticSearch简介
  7. 1.1 Apache Lucene简介
  8. 1.1.1 熟悉Lucene
  9. 1.1.2 Lucene的总体架构
  10. 1.1.3 分析你的数据
  11. 1.1.4 Lucene查询语言
  12. 1.2 ElasticSearch简介
  13. 1.2.1 ElasticSearch的基本概念
  14. 1.2.2 ElasticSearch架构背后的关键概念
  15. 1.2.3 ElasticSearch的工作流程
  16. 1.3 小结
  17. 第2章 查询DSL进阶
  18. 2.1 Apache Lucene默认评分公式解释
  19. 2.1.1 何时文档被匹配上
  20. 2.1.2 TF/IDF评分公式
  21. 2.1.3 ElasticSearch如何看评分
  22. 2.2 查询改写
  23. 2.2.1 前缀查询范例
  24. 2.2.2 回顾Apache Lucene
  25. 2.2.3 查询改写的属性
  26. 2.3 二次评分
  27. 2.3.1 理解二次评分
  28. 2.3.2 范例数据
  29. 2.3.3 查询
  30. 2.3.4 二次评分查询的结构
  31. 2.3.5 二次评分参数配置
  32. 2.3.6 小结
  33. 2.4 批量操作
  34. 2.4.1 批量取
  35. 2.4.2 批量查询
  36. 2.5 排序
  37. 2.5.1 基于多值字段的排序
  38. 2.5.2 基于多值geo字段的排序
  39. 2.5.3 基于嵌套对象的排序
  40. 2.6 数据更新API
  41. 2.6.1 简单字段更新
  42. 2.6.2 使用脚本按条件更新
  43. 2.6.3 使用更新API创建或删除文档
  44. 2.7 使用过滤器优化查询
  45. 2.7.1 过滤器与缓存
  46. 2.7.2 词项查找过滤器
  47. 2.8 ElasticSearch切面机制中的过滤器与作用域
  48. 2.8.1 范例数据
  49. 2.8.2 切面计算和过滤
  50. 2.8.3 过滤器作为查询的一部分
  51. 2.8.4 切面过滤器
  52. 2.8.5 全局作用域
  53. 2.9 小结
  54. 第3章 底层索引控制
  55. 3.1 改变Apache Lucene的评分方式
  56. 3.1.1 可用的相似度模型
  57. 3.1.2 为每字段配置相似度模型
  58. 3.2 相似度模型配置
  59. 3.2.1 选择默认的相似度模型
  60. 3.2.2 配置被选用的相似度模型
  61. 3.3 使用编解码器
  62. 3.3.1 简单使用范例
  63. 3.3.2 工作原理解释
  64. 3.3.3 可用的倒排表格式
  65. 3.3.4 配置编解码器
  66. 3.4 准实时、提交、更新及事务日志
  67. 3.4.1 索引更新及更新提交
  68. 3.4.2 事务日志
  69. 3.4.3 准实时读取
  70. 3.5 深入理解数据处理
  71. 3.5.1 输入并不总是进行文本分析
  72. 3.5.2 范例的使用
  73. 3.5.3 索引期更换分词器
  74. 3.5.4 搜索时更换分析器
  75. 3.5.5 陷阱与默认分析
  76. 3.6 控制索引合并
  77. 3.6.1 选择正确的合并策略
  78. 3.6.2 合并策略配置
  79. 3.6.3 调度
  80. 3.7 小结
  81. 第4章 分布式索引架构
  82. 4.1 选择合适的分片和副本数
  83. 4.1.1 分片和过度分配
  84. 4.1.2 一个过度分配的正面例子
  85. 4.1.3 多分片与多索引
  86. 4.1.4 副本
  87. 4.2 路由
  88. 4.2.1 分片和数据
  89. 4.2.2 测试路由功能
  90. 4.2.3 索引时使用路由
  91. 4.2.4 别名
  92. 4.2.5 多个路由值
  93. 4.3 调整默认的分片分配行为
  94. 4.3.1 分片分配器简介
  95. 4.3.2 even_shard分片分配器
  96. 4.3.3 balanced分片分配器
  97. 4.3.4 自定义分片分配器
  98. 4.3.5 裁决者
  99. 4.4 调整分片分配
  100. 4.4.1 部署意识
  101. 4.4.2 过滤
  102. 4.4.3 运行时更新分配策略
  103. 4.4.4 确定每个节点允许的总分片数
  104. 4.4.5 更多的分片分配属性
  105. 4.5 查询执行偏好
  106. 4.6 应用我们的知识
  107. 4.6.1 基本假定
  108. 4.6.2 配置
  109. 4.6.3 变化来了
  110. 4.7 小结
  111. 第5章 管理ElasticSearch
  112. 5.1 选择正确的目录实现-存储模块
  113. 5.2 发现模块的配置
  114. 5.2.1 Zen发现
  115. 5.2.2 亚马逊EC2发现
  116. 5.2.3 本地网关
  117. 5.2.4 恢复配置
  118. 5.3 索引段统计
  119. 5.3.1 segments API简介
  120. 5.3.2 索引段信息的可视化
  121. 5.4 理解ElasticSearch缓存
  122. 5.4.1 过滤器缓存
  123. 5.4.2 字段数据缓存
  124. 5.4.3 清除缓存
  125. 5.5 小结
  126. 第6章 故障处理
  127. 6.1 了解垃圾回收器
  128. 6.1.1 Java内存
  129. 6.1.2 处理垃圾回收问题
  130. 6.1.3 在类UNIX系统中避免内存交换
  131. 6.2 关于I/O调节
  132. 6.2.1 控制IO节流
  133. 6.2.2 配置
  134. 6.3 用预热器提升查询速度
  135. 6.3.1 为什么使用预热器
  136. 6.3.2 操作预热器
  137. 6.3.3 测试预热器
  138. 6.4 热点线程
  139. 6.4.1 澄清热点线程API的用法误区
  140. 6.4.2 热点线程API的响应信息
  141. 6.5 现实场景
  142. 6.5.1 越来越差的性能
  143. 6.5.2 混杂的环境和负载不平衡
  144. 6.5.3 我的服务器出故障了
  145. 6.6 小结
  146. 第7章 改善用户搜索体验
  147. 7.1 改正用户拼写错误
  148. 7.1.1 测试数据
  149. 7.1.2 深入技术细节
  150. 7.1.3 completion suggester
  151. 7.2 改善查询相关性
  152. 7.2.1 数据
  153. 7.2.2 改善相关性的探索之旅
  154. 7.3 小结
  155. 第8章 ElasticSearch Java API
  156. 8.1 ElasticSearch Java API简介
  157. 8.2 代码
  158. 8.3 连接到集群
  159. 8.3.1 成为ElasticSearch节点
  160. 8.3.2 使用传输机连接方式
  161. 8.3.3 选择合适的连接方式
  162. 8.4 API剖析
  163. 8.5 CRUD操作
  164. 8.5.1 读取文档
  165. 8.5.2 索引文档
  166. 8.5.3 更新文档
  167. 8.5.4 删除文档
  168. 8.6 ElasticSearch查询
  169. 8.6.1 准备查询请求
  170. 8.6.2 构造查询
  171. 8.6.3 分页
  172. 8.6.4 排序
  173. 8.6.5 过滤
  174. 8.6.6 切面计算
  175. 8.6.7 高亮
  176. 8.6.8 查询建议
  177. 8.6.9 计数
  178. 8.6.10 滚动
  179. 8.7 批量执行多个操作
  180. 8.7.1 批量操作
  181. 8.7.2 根据查询删除文档
  182. 8.7.3 Multi GET
  183. 8.7.4 Multi Search
  184. 8.8 Percolator
  185. 8.9 explain API
  186. 8.10 构造JSON格式的查询和文档
  187. 8.11 管理API
  188. 8.11.1 集群管理API
  189. 8.11.2 索引管理API
  190. 8.12 小结
  191. 第9章 开发ElasticSearch插件
  192. 9.1 建立Apache Maven项目结构
  193. 9.1.1 了解基本知识
  194. 9.1.2 Maven Java项目的结构
  195. 9.1.3 POM的理念
  196. 9.1.4 运行构建过程
  197. 9.1.5 引入Maven装配插件
  198. 9.2 创建一个自定义river插件
  199. 9.2.1 实现细节
  200. 9.2.2 测试river
  201. 9.3 创建自定义分析插件
  202. 9.3.1 实现细节
  203. 9.3.2 测试自定义分析插件
  204. 9.4 小结
载入中

热门划线

喜欢这本书的人也喜欢