×
暂无评论
图文详情
  • ISBN:9787115654458
  • 装帧:平装-胶订
  • 册数:暂无
  • 重量:暂无
  • 开本:16开
  • 页数:504
  • 出版时间:2025-01-01
  • 条形码:9787115654458 ; 978-7-115-65445-8

本书特色

使用Elasticsearch和Kibana打造专业级的搜索引擎!

这是一本注重实践的书,书中深入探讨了Elasticsearch的整体架构,揭示了基础设施模式,并详细介绍了众多Elasticsearch API的搜索功能和分析功能。

本书指导读者使用Elasticsearch 8为网站和应用添加现代搜索功能,让读者可以从安装和配置集群的基础知识快速进阶到索引文档、高级聚合,再到将Elasticsearch投入生产。将设计出色的搜索体验的技术细节与技巧巧妙地结合是本书的一大特点,这一特点必将使读者对本书爱不释手。

本书主要内容

● 理解搜索架构。

● 全文搜索查询和词项级搜索查询。

● 分析和聚合。

● Kibana中的高级可视化。

● 配置、扩展和调优集群。
使用Elasticsearch和Kibana打造专业级的搜索引擎!

这是一本注重实践的书,书中深入探讨了Elasticsearch的整体架构,揭示了基础设施模式,并详细介绍了众多Elasticsearch API的搜索功能和分析功能。

本书指导读者使用Elasticsearch 8为网站和应用添加现代搜索功能,让读者可以从安装和配置集群的基础知识快速进阶到索引文档、高级聚合,再到将Elasticsearch投入生产。将设计出色的搜索体验的技术细节与技巧巧妙地结合是本书的一大特点,这一特点必将使读者对本书爱不释手。

本书主要内容

● 理解搜索架构。

● 全文搜索查询和词项级搜索查询。

● 分析和聚合。

● Kibana中的高级可视化。

● 配置、扩展和调优集群。

本书适合熟悉脚本和命令行应用的应用开发人员阅读。

内容简介

本书全面深入地介绍Elasticsearch的核心功能及其工作机制。本书由浅入深,从Elasticsearch的基本用法和架构原理,以及倒排索引、分片、节点角色和相关性等核心概念讲起;然后深入探讨数据处理和索引管理,涵盖映射模式、数据类型、文本分析、索引模板;接着详细介绍词项级搜索、全文搜索、复合查询和高级搜索等Elasticsearch的搜索功能,并深入讲解聚合;*后聚焦生产环境中的Elasticsearch管理和性能优化。本书特别注重实践,提供了大量的代码示例,涵盖从基础查询到复杂功能的各种应用场景。与第1版相比,这一版更新并补充了许多新的功能点,如索引生命周期管理、可组合索引模板机制、地理位置查询等。
本书是使用Elasticsearch开发全功能搜索引擎的实践指南,适合刚接触Elasticsearch领域、希望了解其基本工作原理的开发者、架构师、分析师、管理者、产品负责人或希望利用Elasticsearch进行实时数据分析和处理的数据科学家阅读,也适合在实际项目中遇到挑战的资深工程师及学习大数据技术并对搜索技术感兴趣的学生和研究人员阅读。

目录

目录第 1章 概述 11.1 一个好的搜索引擎是怎样的 11.2 搜索已成为新常态 21.2.1 结构化数据与非结构化(全文)数据 31.2.2 数据库支持的搜索 4目录第 1章 概述 11.1 一个好的搜索引擎是怎样的 11.2 搜索已成为新常态 21.2.1 结构化数据与非结构化(全文)数据 31.2.2 数据库支持的搜索 41.2.3 数据库与搜索引擎 51.3 现代搜索引擎 61.3.1 功能 61.3.2 流行的搜索引擎 71.4 Elasticsearch概述 71.4.1 核心领域 81.4.2 Elastic Stack 91.4.3 Elasticsearch的使用场景 101.4.4 不适合Elasticsearch的使用场景 111.4.5 误解 121.5 业界案例 131.6 生成式人工智能与现代搜索 141.7 小结 16第 2章 开始使用 172.1 往Elasticsearch中导入数据 182.1.1 在线书店 182.1.2 索引文档 192.1.3 索引第 一个文档 222.1.4 索引更多文档 252.2 检索数据 262.2.1 计算文档数量 262.2.2 检索文档 272.3 全文搜索 312.3.1 匹配查询:按作者找书 312.3.2 带有AND运算符的匹配查询 322.3.3 使用_bulk API索引文档 342.3.4 多字段搜索 352.3.5 提升结果 362.3.6 搜索短语 362.3.7 处理缺失单词的短语 382.3.8 处理拼写错误 382.4 词项级查询 392.4.1 term查询 402.4.2 range查询 412.5 复合查询 412.5.1 bool查询 422.5.2 must子句 432.5.3 must_not子句 442.5.4 should子句 442.5.5 filter子句 452.6 聚合 462.6.1 指标聚合 472.6.2 桶聚合 492.7 小结 52第3章 架构 533.1 概述 543.1.1 数据导入 543.1.2 数据处理 553.1.3 数据输出 583.2 基本组件 583.2.1 文档 583.2.2 索引 623.2.3 数据流 633.2.4 分片和副本 653.2.5 节点和集群 703.3 倒排索引 753.4 相关性 773.4.1 相关性分数 773.4.2 相关性(相似性)算法 783.5 路由算法 823.6 扩展 833.6.1 纵向扩展(垂直扩展) 833.6.2 横向扩展(水平扩展) 843.7 小结 84第4章 映射 854.1 概述 864.1.1 映射定义 864.1.2 首次索引文档 874.2 动态映射 894.2.1 推断类型的机制 904.2.2 动态映射的局限性 914.3 显式映射 934.3.1 使用索引API定义映射 944.3.2 使用映射API更新模式 954.3.3 不允许修改现有字段 974.3.4 类型强制转换 984.4 数据类型 984.5 核心数据类型 1004.5.1 文本数据类型 1004.5.2 关键词数据类型 1044.5.3 日期数据类型 1064.5.4 数值数据类型 1084.5.5 布尔数据类型 1094.5.6 范围数据类型 1104.5.7 IP地址数据类型 1114.6 高级数据类型 1124.6.1 geo_point数据类型 1124.6.2 object数据类型 1144.6.3 nested数据类型 1184.6.4 flattened数据类型 1204.6.5 join数据类型 1224.6.6 search_as_you_type数据类型 1244.7 拥有多种数据类型的字段 1264.8 小结 127第5章 处理文档 1285.1 索引文档 1295.1.1 文档API 1295.1.2 索引机制 1355.1.3 自定义刷新过程 1375.2 检索文档 1385.2.1 使用单文档API 1395.2.2 检索多个文档 1405.2.3 ids查询 1415.3 操纵响应 1425.3.1 从响应中移除元数据 1425.3.2 抑制源数据 1435.3.3 包含或排除字段 1445.4 更新文档 1465.4.1 文档更新机制 1465.4.2 _update API 1475.4.3 脚本更新 1485.4.4 替换文档 1525.4.5 更新插入 1535.4.6 将更新视为更新插入 1545.4.7 通过查询更新 1555.5 删除文档 1565.5.1 通过ID删除 1565.5.2 通过查询删除 1565.5.3 通过range查询删除 1575.5.4 删除所有文档 1585.6 批量处理文档 1595.6.1 _bulk API的格式 1595.6.2 批量索引文档 1605.6.3 批量请求处理多个索引和操作 1615.6.4 使用cURL执行批量请求 1625.7 重新索引文档 1635.8 小结 164第6章 索引操作 1656.1 概述 1666.2 创建索引 1666.2.1 隐式创建索引(自动创建) 1676.2.2 显式创建索引(手动创建) 1706.2.3 自定义索引设置 1706.2.4 索引映射 1726.2.5 索引别名 1736.3 读取索引 1776.3.1 读取公开索引 1776.3.2 读取隐藏索引 1786.4 删除索引 1796.4.1 删除多个索引 1796.4.2 仅删除别名 1806.5 关闭索引和打开索引 1806.5.1 关闭索引 1806.5.2 打开索引 1816.6 索引模板 1826.6.1 创建可组合(索引)模板 1836.6.2 创建组件模板 1846.7 监控和管理索引 1866.7.1 索引的统计信息 1866.7.2 多个索引的统计信息 1886.8 高级操作 1896.8.1 拆分索引 1896.8.2 缩小索引 1916.8.3 滚动更新索引别名 1936.9 索引生命周期管理 1956.9.1 索引生命周期 1966.9.2 手动管理索引生命周期 1976.9.3 带有滚动机制的索引生命周期 1996.10 小结 202第7章 文本分析 2037.1 概述 2047.1.1 查询非结构化数据 2047.1.2 分析器来拯救 2057.2 分析器模块 2057.2.1 分词 2057.2.2 归一化 2067.2.3 分析器的结构 2067.2.4 测试分析器 2087.3 内置分析器 2097.3.1 standard分析器 2107.3.2 simple分析器 2167.3.3 whitespace分析器 2177.3.4 keyword分析器 2187.3.5 fingerprint分析器 2197.3.6 pattern分析器 2207.3.7 语言分析器 2217.4 自定义分析器 2247.5 指定分析器 2277.5.1 为索引指定分析器 2277.5.2 为搜索指定分析器 2287.6 字符过滤器 2307.6.1 html_strip字符过滤器 2317.6.2 mapping字符过滤器 2327.6.3 pattern_replace字符过滤器 2347.7 分词器 2357.7.1 standard分词器 2357.7.2 ngram分词器和edge_ngram分词器 2367.7.3 其他分词器 2387.8 词元过滤器 2387.8.1 stemmer词元过滤器 2397.8.2 shingle词元过滤器 2397.8.3 synonym词元过滤器 2407.9 小结 242第8章 搜索简介 2438.1 概述 2438.2 搜索的工作原理 2448.3 电影样本数据 2458.4 搜索的基础知识 2478.4.1 _search端点 2478.4.2 查询上下文和过滤上下文 2488.5 请求和响应的结构 2508.5.1 搜索请求 2508.5.2 搜索响应 2518.6 URI搜索 2538.6.1 按片名搜索电影 2538.6.2 搜索特定的电影 2548.6.3 附加参数 2548.6.4 使用Query DSL支持URI搜索 2558.7 Query DSL 2558.7.1 查询样例 2568.7.2 通过cURL调用Query DSL 2568.7.3 使用Query DSL进行聚合 2578.7.4 叶子查询和复合查询 2578.8 搜索功能 2588.8.1 分页 2598.8.2 高亮显示 2608.8.3 解释相关性分数 2628.8.4 排序 2648.8.5 操纵结果 2678.8.6 跨索引和数据流搜索 2718.9 小结 272第9章 词项级搜索 2739.1 概述 2739.1.1 词项级查询不进行分析 2739.1.2 词项级查询示例 2749.2 term查询 2759.2.1 在text类型的字段上执行term查询 2759.2.2 term查询示例 2769.2.3 简化的词项级查询 2779.3 terms查询 2779.3.1 terms查询示例 2789.3.2 terms查找查询 2799.4 ids查询 2809.5 exists查询 2819.6 range查询 2829.7 wildcard查询 2849.8 prefix查询 2869.8.1 简化查询 2879.8.2 加速prefix查询 2889.9 fuzzy查询 2899.10 小结 291第 10章 全文搜索 29210.1 概述 29210.1.1 精确率 29310.1.2 召回率 29310.2 样本数据 29510.3 match_all查询 29510.3.1 构建match_all查询 29510.3.2 match_all查询的简写格式 29610.4 match_none查询 29610.5 match查询 29710.5.1 match查询的格式 29710.5.2 使用match查询搜索 29810.5.3 分析match查询 29810.5.4 搜索多个单词 29910.5.5 至少匹配几个单词 30010.5.6 使用fuzziness关键词纠正拼写错误 30110.6 match_phrase查询 30110.7 match_phrase_prefix查询 30310.8 multi_match查询 30410.8.1 *佳字段 30410.8.2 dis_max查询 30610.8.3 tie_breaker 30610.8.4 提升单个字段的权重 30810.9 query_string查询 30910.9.1 query_string查询中的字段 31010.9.2 默认运算符 31110.9.3 带有短语的query_string查询 31210.10 模糊查询 31210.11 简单的字符串查询 31310.12 simple_query_string查询 31410.13 小结 315第 11章 复合查询 31611.1 产品样本数据 31711.1.1 产品模式 31711.1.2 索引产品数据 31811.2 复合查询 31811.3 bool查询 32011.3.1 bool查询结构 32011.3.2 must子句 32111.3.3 增强must子句 32211.3.4 must_not子句 32411.3.5 增强must_not子句 32511.3.6 should子句 32711.3.7 filter子句 33211.3.8 组合所有子句 33411.3.9 命名查询 33511.4 constant_score查询 33711.5 boosting查询 33911.6 dis_max查询 34111.7 function_score查询 34311.7.1 random_score函数 34411.7.2 script_score函数 34511.7.3 field_value_factor函数 34611.7.4 组合函数分数 34711.8 小结 348第 12章 高级搜索 34912.1 位置搜索简介 35012.1.1 bounding_box查询 35012.1.2 geo_distance查询 35112.1.3 geo_shape查询 35112.2 地理空间数据类型 35212.2.1 geo_point数据类型 35212.2.2 geo_shape数据类型 35312.3 地理空间查询 35512.4 geo_bounding_box查询 35512.5 geo_distance查询 35912.6 geo_shape查询 36012.7 shape查询 36212.8 span查询 36412.8.1 样本数据 36412.8.2 span_first查询 36512.8.3 span_near查询 36612.8.4 span_within查询 36712.8.5 span_or查询 36912.9 专用查询 37012.9.1 distance_feature查询 37012.9.2 pinned查询 37512.9.3 more_like_this查询 37612.9.4 percolate查询 37712.10 小结 381第 13章 聚合 38213.1 概述 38213.1.1 端点和语法 38313.1.2 结合搜索和聚合 38313.1.3 多重聚合和嵌套聚合 38413.1.4 忽略结果 38413.2 指标聚合 38513.2.1 样本数据 38513.2.2 value_count指标 38613.2.3 avg指标 38713.2.4 sum指标 38813.2.5 min指标和max指标 38813.2.6 stats指标 38913.2.7 extended_stats指标 39013.2.8 cardinality指标 39113.3 桶聚合 39213.3.1 直方图 39313.3.2 子聚合 39613.3.3 自定义range聚合 39713.3.4 terms聚合 39913.3.5 multi-terms聚合 40013.4 父聚合和兄弟聚合 40113.4.1 父聚合 40213.4.2 兄弟聚合 40313.5 管道聚合 40413.5.1 管道聚合的类型 40413.5.2 样本数据 40413.5.3 管道聚合的语法 40513.5.4 可用的管道聚合 40613.5.5 cumulative_sum父管道聚合 40713.5.6 max_bucket和min_bucket兄弟管道聚合 40813.6 小结 410第 14章 集群管理 41114.1 扩展集群 41214.1.1 向集群中添加节点 41214.1.2 集群健康 41314.1.3 提高读吞吐量 41614.2 节点间通信 41614.3 确定分片大小 41714.3.1 设置单个索引 41714.3.2 设置多个索引 41814.4 快照 41914.4.1 开始使用 42014.4.2 注册快照存储库 42114.4.3 创建快照 42314.4.4 恢复快照 42414.4.5 删除快照 42414.4.6 自动化快照 42414.5 高级配置 42814.5.1 主配置文件 42914.5.2 日志选项 42914.5.3 Java虚拟机选项 43014.6 集群主节点 43114.6.1 主节点 43114.6.2 主节点选举 43214.6.3 集群状态 43214.6.4 法定人数 43314.6.5 脑裂问题 43314.6.6 专用主节点 43414.7 小结 435第 15章 性能与故障排查 43715.1 搜索与速度问题 43715.1.1 现代硬件 43815.1.2 文档建模 43815.1.3 选择keyword类型而不是text类型 44115.2 索引速度问题 44215.2.1 系统生成的ID 44215.2.2 批量请求 44215.2.3 调整刷新频率 44215.3 集群不稳定问题 44515.3.1 集群状态不是绿色 44515.3.2 未分配的分片 44515.3.3 磁盘使用阈值 44715.4 断路器 44915.5 结束语 45015.6 小结 451附录A 安装 452附录B 摄取管道 459附录C 客户端 466
展开全部

相关资料

“作者的热情洋溢在这本书的字里行间,无论是内容的深度与广度、充满热情的语调,还是那些实用的示例,无不体现这一点。我希望你能将所学的内容付诸实践。”——Shay Banon,Elasticsearch 创始人“实用且写作精良。对初学者来说是一个很好的起点,对经验丰富的专业人士来说是一本全面的指南。”——Simona Russo,Serendipity 公司

作者简介

[英]马杜苏丹·孔达(Madhusudhan Konda)是全栈首席工程师、架构师,也是技术导师和会议演讲者。他还是一位颇具盛名的技术图书作者,他关于Java、Spring和Hibernate生态系统的书广受读者欢迎。此外,他还提供有关Elasticsearch和Elastic Stack的在线培训。

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航