ElasticSearch 服务器开发(第2版)

6.139 评价豆瓣读书
阅读
¥29.99
  • 导言
  • 目录
  • 作品信息

本书介绍了Elasticsearch这个优秀的全文检索和分析引擎从安装和配置到集群管理的各方面知识。本书这一版不仅补充了上一版中遗漏的重要内容,并且所有示例和功能均基于Elasticsearch服务器1.0版进行了更新。你可以从头开始循序渐进地学习本书,也可以查阅具体功能解决手头问题。

Rafał Kuć(作者),solr.pl网站联合创始人,现为Sematext集团顾问和软件工程师,专注于Apache Lucene、Solr、Elasticsearch和Hadoop等开源技术。Rafał拥有超过12年的多领域软件经验,其中既包括银行软件又包括电子商务产品。Rafał也是Apache Solr 3.1 Cookbook等技术图书的作者,并且一直是Lucene Eurocon、Berlin Buzzwords、ApacheCon和Lucene Revolution等会议的演讲嘉宾。

Marek Rogoziński(作者),solr.pl网站联合创始人,拥有10年以上的软件架构师和顾问从业经验,专门研究基于Solr和Elasticsearch等开源搜索引擎的解决方案,以及Hadoop、HBase和Twitter Storm等用于大数据分析的软件。

蔡建斌(译者),敏捷践行者,擅长Scrum/XP/Kanban等敏捷实践,现在英孚教育全球研发中心任Technical Lead,除了50%时间写代码以外,业务需求分析、前后端架构设计、性能调优、自动化测试、流程改进、发布运维、代码评审……无所不为,只为开发出更好的软件。爱好围棋,弈城4段5段之间跳跃。目标:工作上有所不为;爱好上添加一项健身。

  1. 前言
  2. 本书主要内容
  3. 学习本书的准备工作
  4. 本书读者对象
  5. 排版规范
  6. 读者反馈
  7. 客户支持
  8. 下载示例代码
  9. 勘误表
  10. 侵权行为
  11. 问题
  12. Rafat Kuć个人致谢
  13. Marek Rogoziński个人致谢
  14. www.PacktPub.com
  15. 支持文件、电子书、折扣优惠等
  16. 为什么订阅
  17. Packt账户的免费访问
  18. 第 1 章 Elasticsearch集群入门
  19. 1.1 全文检索
  20. 1.1.1 Lucene词汇表和架构
  21. 1.1.2 输入数据分析
  22. 索引和查询
  23. 1.1.3 评分和查询相关性
  24. 1.2 Elasticsearch基础
  25. 1.2.1 数据架构的主要概念
  26. 1. 索引
  27. 2.文档
  28. 3. 文档类型
  29. 4. 映射
  30. 1.2.2 Elasticsearch主要概念
  31. 1. 节点和集群
  32. 2. 分片
  33. 3. 副本
  34. 4. 时光之门
  35. 1.2.3 索引建立和搜索
  36. 1.3 安装并配置集群
  37. 1.3.1 安装Java
  38. 1.3.2 安装Elasticsearch
  39. 1.3.3 在Linux上用二进制包安装Elasticsearch
  40. 1. 使用RPM包安装Elasticsearch
  41. 2. 使用DEB包安装Elasticsearch
  42. 1.3.4 目录布局
  43. 1.3.5 配置Elasticsearch
  44. 1.3.6 运行Elasticsearch
  45. 1.3.7 关掉Elasticsearch
  46. 1.3.8 Elasticsearch作为系统服务运行
  47. 1. 在Linux上运行系统服务
  48. 2. 在Windows上运行系统服务
  49. 1.4 用REST API操作数据
  50. 1.4.1 理解Elasticsearch的RESTful API
  51. 1.4.2 在Elasticsearch中存储数据
  52. 1.4.3 新建文档
  53. 标识符的自动创建
  54. 1.4.4 检索文档
  55. 1.4.5 更新文档
  56. 1.4.6 删除文档
  57. 1.4.7 版本控制
  58. 1. 版本控制的一个例子
  59. 2. 使用外部系统提供的版本
  60. 1.5 使用URI请求查询来搜索
  61. 1.5.1 示例数据
  62. 1.5.2 URI请求
  63. 1. Elasticsearch查询响应
  64. 2. 查询分析
  65. 3. URI查询中的字符参数
  66. 1.5.3 Lucene查询语法
  67. 1.6 小结
  68. 第 2 章 索引
  69. 2.1 Elasticsearch索引
  70. 2.1.1 分片和副本
  71. 2.1.2 创建索引
  72. 1. 修改索引的自动创建
  73. 2. 新创建索引的设定
  74. 2.2 映射配置
  75. 2.2.1 类型确定机制
  76. 禁用字段类型猜测
  77. 2.2.2 索引结构映射
  78. 1. 类型定义
  79. 2. 字段
  80. 3. 核心类型
  81. 4. 多字段
  82. 5. IP地址类型
  83. 6. token_count 类型
  84. 7. 使用分析器
  85. 2.2.3 不同的相似度模型
  86. 1. 设定每个字段的相似度模型
  87. 2. 可用的相似度模型
  88. 2.2.4 信息格式
  89. 配置信息格式
  90. 2.2.5 文档值
  91. 1. 配置文档值
  92. 2. 文档值格式
  93. 2.3 批量索引以提高索引速度
  94. 2.3.1 为批量索引准备数据
  95. 2.3.2 索引数据
  96. 2.3.3 更快的批量请求
  97. 2.4 用附加的内部信息扩展索引结构
  98. 2.4.1 标识符字段
  99. 2.4.2  _type 字段
  100. 2.4.3  _all 字段
  101. 2.4.4  _source 字段
  102. 排除字段和包含字段
  103. 2.4.5  _index 字段
  104. 2.4.6  _size 字段
  105. 2.4.7  _timestamp 字段
  106. 2.4.8  _ttl 字段
  107. 2.5 段合并介绍
  108. 2.5.1 段合并
  109. 2.5.2 段合并的必要性
  110. 2.5.3 合并策略
  111. 2.5.4 合并调度器
  112. 2.5.5 合并因子
  113. 2.5.6 调节
  114. 2.6 路由介绍
  115. 2.6.1 默认索引过程
  116. 2.6.2 默认搜索过程
  117. 2.6.3 路由
  118. 2.6.4 路由参数
  119. 2.6.5 路由字段
  120. 2.7 小结
  121. 第 3 章 搜索
  122. 3.1 查询Elasticsearch
  123. 3.1.1 示例数据
  124. 3.1.2 简单查询
  125. 3.1.3 分页和结果集大小
  126. 3.1.4 返回版本值
  127. 3.1.5 限制得分
  128. 3.1.6 选择需要返回的字段
  129. 部分字段
  130. 3.1.7 使用脚本字段
  131. 传参数到脚本字段中
  132. 3.2 理解查询过程
  133. 3.2.1 查询逻辑
  134. 3.2.2 搜索类型
  135. 3.2.3 搜索执行偏好
  136. 3.2.4 搜索分片API
  137. 3.3 基本查询
  138. 3.3.1 词条查询
  139. 3.3.2 多词条查询
  140. 3.3.3  match_all 查询
  141. 3.3.4 常用词查询
  142. 3.3.5  match 查询
  143. 1. 布尔值匹配查询
  144. 2. match_phrase 查询
  145. 3. match_phrase_prefix 查询
  146. 3.3.6  multi_match 查询
  147. 3.3.7  query_string 查询
  148. 针对多字段的 query_string 查询
  149. 3.3.8  simple_query_string 查询
  150. 3.3.9 标识符查询
  151. 3.3.10 前缀查询
  152. 3.3.11  fuzzy_like_this 查询
  153. 3.3.12  fuzzy_like_this_field 查询
  154. 3.3.13  fuzzy 查询
  155. 3.3.14 通配符查询
  156. 3.3.15  more_like_this 查询
  157. 3.3.16  more_like_this_filed 查询
  158. 3.3.17 范围查询
  159. 3.3.18 最大分查询
  160. 3.3.19 正则表达式查询
  161. 3.4 复合查询
  162. 3.4.1 布尔查询
  163. 3.4.2 加权查询
  164. 3.4.3  constant_score 查询
  165. 3.4.4 索引查询
  166. 3.5 查询结果的过滤
  167. 3.5.1 使用过滤器
  168. 3.5.2 过滤器类型
  169. 1. 范围过滤器
  170. 2. exists 过滤器
  171. 3. missing 过滤器
  172. 4.脚本过滤器
  173. 5. 类型过滤器
  174. 6. 限定过滤器
  175. 7. 标识符过滤器
  176. 8. 如果还不够
  177. 9. 组合过滤器
  178. 10. 命名过滤器
  179. 3.5.3 过滤器的缓存
  180. 3.6 高亮显示
  181. 3.6.1 高亮显示入门
  182. 3.6.2 字段配置
  183. 3.6.3 深入底层
  184. 3.6.4 配置HTML标签
  185. 3.6.5 控制高亮片段
  186. 3.6.6 全局设置与局部设置
  187. 3.6.7 需要匹配
  188. 3.6.8 信息高亮器
  189. 3.7 验证查询
  190. 使用验证API
  191. 3.8 数据排序
  192. 3.8.1 默认排序
  193. 3.8.2 选择用于排序的字段
  194. 3.8.3 指定缺少字段的行为
  195. 3.8.4 动态条件
  196. 3.8.5 排序规则和国家特有字符
  197. 3.9 查询重写
  198. 3.9.1 重写过程示例
  199. 3.9.2 查询重写的属性
  200. 3.10 小结
  201. 第 4 章 扩展索引结构
  202. 4.1 索引树形结构
  203. 4.1.1 数据结构
  204. 4.1.2 分析
  205. 4.2 索引非扁平数据
  206. 4.2.1 数据
  207. 4.2.2 对象
  208. 4.2.3 数组
  209. 4.2.4 映射
  210. 最终映射
  211. 4.2.5 向Elasticsearch发送映射
  212. 4.2.6 动态还是非动态
  213. 4.3 使用嵌套对象
  214. 评分与嵌套查询
  215. 4.4 使用父子关系
  216. 4.4.1 索引结构和数据索引
  217. 1. 父文档映射
  218. 2. 子文档映射
  219. 3. 父文档
  220. 4. 子文档
  221. 4.4.2 查询
  222. 1. 查询子文档中的数据
  223. 2. 查询父文档中的数据
  224. 4.4.3 父子关系和过滤
  225. 4.4.4 性能考虑
  226. 4.5 使用更新API修改索引结构
  227. 4.5.1 映射
  228. 4.5.2 添加一个新字段
  229. 4.5.3 修改字段
  230. 4.6 小结
  231. 第 5 章 更好的搜索
  232. 5.1 Apache Lucene评分简介
  233. 5.1.1 当文档被匹配时
  234. 5.1.2 默认评分公式
  235. 5.1.3 相关性的意义
  236. 5.2 Elasticsearch的脚本功能
  237. 5.2.1 脚本执行过程中可用的对象
  238. 5.2.2 MVEL
  239. 5.2.3 使用其他语言
  240. 5.2.4 使用自定义脚本库
  241. 使用本地代码
  242. 5.3 搜索不同语言的内容
  243. 5.3.1 区分处理不同语言
  244. 5.3.2 多语言处理
  245. 5.3.3 检测文档的语言
  246. 5.3.4 示例文档
  247. 5.3.5 映射文件
  248. 5.3.6 查询
  249. 1. 用识别语言查询
  250. 2. 用未知语言查询
  251. 3. 组合查询
  252. 5.4 使用查询加权影响得分
  253. 5.4.1 加权
  254. 5.4.2 为查询添加加权
  255. 5.4.3 修改得分
  256. 1. constant_score 查询
  257. 2. 加权查询
  258. 3. function_score 查询
  259. 4. 弃用查询
  260. 5.5 索引时加权何时有意义
  261. 5.5.1 在输入数据中定义字段加权
  262. 5.5.2 在映射中定义加权
  263. 5.6 同义词
  264. 5.6.1 同义词过滤器
  265. 1. 映射中的同义词
  266. 2. 存储在文件系统中的同义词
  267. 5.6.2 定义同义词规则
  268. 1. 使用Apache Solr同义词
  269. 2. 使用WordNet同义词
  270. 5.6.3 查询时或索引时的同义词扩展
  271. 5.7 理解解释信息
  272. 5.7.1 理解字段分析
  273. 5.7.2 解释查询
  274. 5.8 小结
  275. 第 6 章 超越全文检索
  276. 6.1 聚合
  277. 6.1.1 一般查询结构
  278. 6.1.2 可用的聚合
  279. 1. 度量聚合
  280. 2. 桶聚合
  281. 6.1.3 聚合的嵌套
  282. 6.1.4 桶排序和嵌套聚合
  283. 6.1.5 全局和子集
  284. 包含和排除
  285. 6.2 切面
  286. 6.2.1 文档结构
  287. 6.2.2 返回的结果
  288. 6.2.3 使用查询进行切面计算
  289. 6.2.4 使用过滤器进行切面计算
  290. 6.2.5  terms 切面
  291. 6.2.6 基于范围的切面
  292. 为聚合数据计算选择不同的字段
  293. 6.2.7 数值和日期直方图切面
  294. date_histogram 切面
  295. 6.2.8 数值型字段统计数据的计算
  296. 6.2.9 词条统计数据的计算
  297. 6.2.10 地理切面
  298. 6.2.11 切面结果的过滤
  299. 6.2.12 内存考虑
  300. 6.3 使用建议器
  301. 6.3.1 可用的建议器类型
  302. 6.3.2 包含建议器
  303. 建议器的响应
  304. 6.3.3  term 建议器
  305. 1. term 建议器的配置选项
  306. 2. 额外的 term 建议器选项
  307. 6.3.4  phrase 建议器
  308. 配置
  309. 6.3.5  completion 建议器
  310. 1. 索引数据
  311. 2. 查询索引中的 completion 建议器数据
  312. 3. 定制权重
  313. 6.4 预匹配器
  314. 6.4.1 示例索引
  315. 6.4.2 预匹配器的准备
  316. 6.4.3 深入
  317. 1. 得到匹配查询的数量
  318. 2. 索引文档的预匹配
  319. 6.5 文件的处理
  320. 添加文件的额外信息
  321. 6.6 地理
  322. 6.6.1 为空间搜索准备映射
  323. 6.6.2 示例数据
  324. 6.6.3 示例查询
  325. 1. 基于距离的排序
  326. 2. 边界框过滤
  327. 3. 距离的限制
  328. 6.6.4 任意地理形状
  329. 1. 点
  330. 2. 包络线
  331. 3. 多边形
  332. 4. 多个多边形
  333. 5. 一个示例用法
  334. 6. 索引中形状的排序
  335. 6.7 卷动API
  336. 6.7.1 问题定义
  337. 6.7.2 作为解决方案的卷动
  338. 6.8 多词条过滤器
  339. 词条查找
  340. 1. 词条查找的查询结构
  341. 2. 词条查找的缓存设置
  342. 6.9 小结
  343. 第 7 章 深入Elasticsearch集群
  344. 7.1 节点发现
  345. 7.1.1 发现的类型
  346. 7.1.2 主节点
  347. 1. 配置主节点和数据节点
  348. 2. 主节点选取的配置
  349. 7.1.3 设置集群名
  350. 1. 配置多播
  351. 2. 配置单播
  352. 7.1.4 节点的ping设置
  353. 7.2 时光之门与恢复模块
  354. 7.2.1 时光之门
  355. 7.2.2 恢复控制
  356. 额外的 gateway 恢复选项
  357. 7.3 为高查询和高索引吞吐量准备Elasticsearch集群
  358. 7.3.1 过滤器缓存
  359. 7.3.2 字段数据缓存和断路器
  360. 断路器
  361. 7.3.3 存储模块
  362. 7.3.4 索引缓冲和刷新率
  363. 索引刷新率
  364. 7.3.5 线程池的配置
  365. 7.3.6 结合起来,一些通用建议
  366. 1. 选择正确的存储
  367. 2. 索引刷新率
  368. 3. 优化线程池
  369. 4. 优化合并过程
  370. 5. 字段数据缓存和断路器
  371. 6. 索引的内存缓冲区
  372. 7. 优化事务日志
  373. 8. 牢记于心
  374. 7.4 模板和动态模板
  375. 7.4.1 模板
  376. 1. 模板的一个例子
  377. 2. 在文件中存储模板
  378. 7.4.2 动态模板
  379. 1. 匹配模式
  380. 2. 字段定义
  381. 7.5 小结
  382. 第 8 章 集群管理
  383. 8.1 Elasticsearch时光机
  384. 8.1.1 创建快照存储库
  385. 8.1.2 创建快照
  386. 额外参数
  387. 8.1.3 还原快照
  388. 8.1.4 清理:删除旧的快照
  389. 8.2 监控集群的状态和健康度
  390. 8.2.1 集群健康度API
  391. 1. 控制信息细节
  392. 2. 额外的参数
  393. 8.2.2 索引统计API
  394. 1. docs
  395. 2. store
  396. 3. indexing 、 get 和 search
  397. 4. 额外信息
  398. 8.2.3 状态API
  399. 8.2.4 节点信息API
  400. 8.2.5 节点统计API
  401. 8.2.6 集群状态API
  402. 8.2.7 挂起任务API
  403. 8.2.8 索引段API
  404. 8.2.9 cat API
  405. 限制返回信息
  406. 8.3 控制集群的再平衡
  407. 8.3.1 再平衡
  408. 8.3.2 集群的就绪
  409. 8.3.3 集群再平衡设置
  410. 1. 控制再平衡何时开始
  411. 2. 控制同时在节点中移动的分片数量
  412. 3. 控制单个节点上同时初始化的分片数量
  413. 4. 控制单个节点上同时初始化的主分片数
  414. 5. 控制分配的分片类型
  415. 6. 控制单个节点上的并发流数目
  416. 8.4 控制分片和副本的分配
  417. 8.4.1 显式控制分配
  418. 1. 指定节点参数
  419. 2. 配置
  420. 3. 索引的创建
  421. 4. 排除节点的分配
  422. 5. 节点需求属性
  423. 6. 使用IP地址分配分片
  424. 7. 基于磁盘的分片分配
  425. 8.4.2 集群范围的分配
  426. 8.4.3 每个节点上的分片和副本数量
  427. 8.4.4 手动移动分片和副本
  428. 1. 移动分片
  429. 2. 取消分片的分配
  430. 3. 强制分片的分配
  431. 4. 每个HTTP请求多个命令
  432. 8.5 预热
  433. 8.5.1 定义一个新的预热查询
  434. 8.5.2 获取定义的预热查询
  435. 8.5.3 删除一个预热查询
  436. 8.5.4 禁用预热功能
  437. 8.5.5 查询的选择
  438. 8.6 使用索引别名来简化你的日常工作
  439. 8.6.1 别名
  440. 8.6.2 创建别名
  441. 8.6.3 修改别名
  442. 8.6.4 合并命令
  443. 8.6.5 获取所有别名
  444. 8.6.6 移除别名
  445. 8.6.7 别名中的过滤
  446. 8.6.8 别名和路由
  447. 8.7 Elasticsearch插件
  448. 8.7.1 基础知识
  449. 8.7.2 安装插件
  450. 8.7.3 移除插件
  451. 8.8 更新设置API
  452. 8.9 小结
  453. 看完了

作者〔波〕Rafa. Ku〔波〕Marek Rogoziński

译者蔡建斌

类别 图书 / 非虚构

出版社人民邮电出版社

出版日期

ISBN9787115380326

提供方图灵社区

标签网络(448)计算机(1380)系统开发(18)

喜欢这本书的人也喜欢

来自豆瓣读书的评论3