我在华为工作十多年,一直从事公司核心产品和项目的研发工作,后来加入中兴,直到今日我仍然在坚持从事研发工作。我始终认为,技术是个人立身之本、公司发展之能、社会进步之源。
我与本书作者相识已久。他于2013年就以项目第一负责人身份,主持研发了江苏省省级科研项目“基于物联网的智能输液系统”,领导团队攻克技术难点,顺利通过了专家的鉴定。我深知他是一位谦虚低调,甚至可以说是淡泊名利,但技术超群,追逐技术完美和至高点的人。尤其是在大数据和商业智能领域,本书作者深耕多年,可以说是该领域难得的“扫地僧”。
当本书作者找我写推荐序时,我心情激动,受宠若惊!当拿到尚未正式出版的书稿时,本着对读者负责的态度,我花了三天时间大致通读了一遍。本书通俗易懂的讲述方式,对Elasticsearch介绍的深度与广度,超出了所有我阅读过的关于Elasticsearch的书籍。作者敬业、务实的作风令我敬服。
本书全面涵盖Elasticsearch的技术,对初学者来说是一本实战类的入门和进阶书籍,对资深技术和运维人员是一本优秀的工具书。同时,本书穿插着作者独到的技术见解,集作者十年大数据经验之大成。
我向广大读者强烈推荐本书。我相信,通过阅读本书,读者的Elasticsearch开发能力将会得到提升。
中兴高级技术专家马士龙2020年5月
习近平同志指出: “谁掌握了数据,谁就掌握了主动权。”进入21世纪,以互联网、大数据、商业智能为代表的新一代信息技术迅猛发展,给世界经济的发展带来了新的契机。大数据被誉为未来的石油,是21世纪最为珍贵的财产。
大数据领域需要解决以下三个问题。
(1) 如何存储数据
传统的关系数据库(MySQL、Oracle和Access等)主导了20世纪的数据存储模式,但当数据量达到太字节级,甚至拍字节级时,关系数据库表现出了难以解决的瓶颈问题。为了解决海量数据存储和分布式计算问题,Google Lab提出了Map/Reduce 和 Google File System(GFS)解决方案,Hadoop作为其中一个优秀的实现框架迅速得到了业界的认可和广泛应用。但Hadoop的存储模式决定了其并不支持对数据的实时检索和计算。还有其他的替代方案吗?为何不尝试Elasticsearch的分布式存储功能?
(2) 如何检索数据
在互联网时代的今天,信息的价值在很大程度上取决于其是否可实时传播和获取。在庞大的数据仓库中,如何快速获取少量有用的数据是必须解决的问题。数据的实时获取能力取决于数据的存储格式。有什么简单易用的实时数据获取方案吗?为何不尝试Elasticsearch的实时搜索功能?
(3) 如何展现数据
存储数据和检索数据是最终目的吗?当然不是!数据的真正价值和最终目的是为商业决策提供有力支撑。为此,必须挖掘出数据的内在规律,并用友好的形式呈现在很可能并不懂技术的决策者面前。什么样的数据展现形式最有说服力,最容易为决策者所接受和理解?毫无疑问是图和表。正所谓千言万语不如一张图!有什么现成的数据挖掘和可视化方案吗?为何不尝试基于Elasticsearch的可视化平台Kibana?
本书目的
通过阅读本书,读者可以全面掌握Elasticsearch的相关技术,使用Elasticsearch解决上述三个问题,并掌握作者十多年积累的大数据处理经验和技巧,成为大数据高手。
本书内容
本书基于Elasticsearch 7编写,共14章,前12章全面介绍Elasticsearch的安装部署、开发应用、性能调优、集群监控、设计原理、SQL接口等核心内容。第13章介绍基于Elasticsearch的可视化平台Kibana的基础内容。第14章介绍一个实战案例。前言Elasticsearch权威指南各章具体内容如下。
第1章介绍Elasticsearch的基本概念和基础操作,主要是让读者快速体验Elasticsearch的功能,对Elasticsearch有一个直观和大体的了解。
第2章详细介绍Elasticsearch的安装、启动和参数配置。本章关于参数配置部分的内容,可以直接用于生产环境的集群性能调优,读者可仔细阅读这部分内容,并细心体会。
第3章介绍Elasticsearch所遵循的API规范,为后续API相关部分的内容介绍打下基础。
第4~9章详细介绍Elasticsearch的各种API功能和使用方法,几乎每种API都配有示例。这部分内容是本书的重点,也是读者在实际工作中应用最多的。
第10章介绍Elasticsearch的查询语言Query DSL。Query DSL是Elasticsearch特定的查询语言,所有的查询API都支持和遵循Query DSL约定的语法。
第11章介绍Elasticsearch所支持的SQL接口。SQL接口是比Query DSL更友好、更通用的一种接口形式,是Elasticsearch未来重点发展的一个方向。
第12章介绍搜索引擎的原理和Elasticsearch的分布式设计原理。通过阅读本章内容读者可进一步理解Elasticsearch的内部机制。
第13章介绍Elasticsearch的可视化平台Kibana的基础内容,让读者对Kibana有一个基本的理解。
第14章介绍一个实战案例,让读者进一步理解如何应用Elasticsearch进行系统设计。
本书特色
重点介绍可直接用于工作中的Elasticsearch的应用开发方法和技巧。
通过突出的形式呈现作者多年实际使用Elasticsearch的心得体会。
对书中代码进行详细注释,降低阅读门槛。
通过图解的形式介绍Elasticsearch复杂的内部设计原理和实现机制。
叙述方式通俗易懂。
本书读者
Elasticsearch的入门人员。
想深入了解Elasticsearch的技术人员。
准备从事或正在从事搜索引擎技术工作的技术人员。
准备从事或正在从事大数据存储、搜索、分析工作的技术人员。
Elasticsearch集群运维人员。
勘误和支持
在互联网时代,技术日新月异。有可能你刚买的书还没阅读完,书中涉及的技术就被升级,甚至被淘汰了。加之笔者水平有限,时间仓促,书中不可避免地会存在遗漏,恳请读者将遇到的问题或建议反馈给出版社,我们对此万分期待。
作者2020年5月于上海