Elasticsearch数据搜索与分析实战
上QQ阅读APP看书,第一时间看更新

前言

为什么要写这本书

随着大数据和人工智能时代的到来,各行各业都在围绕海量数据开展智能化、信息化系统建设,例如智慧城市、智慧交通、智慧园区、智慧水务、智慧警务等。在此背景下,为了满足各种大数据场景的高性能实时搜索和分析的需要,Elastic Stack提供了一套可靠的技术方案,该方案集大数据采集、转换、存储、搜索、分析、可视化技术于一体,能够有效解决传统关系数据库查询慢、检索方式单一、数据接入不及时、可视化效率低等诸多问题。其中的Elasticsearch已成为世界上非常受欢迎的开源搜索引擎技术,越来越多的企业和团队将它作为项目和产品中的大数据搜索和分析的解决方案。

为了给Elasticsearch的学习和开发人员提供全面的参考资料,帮助他们解决使用Elasticsearch过程中存在的一些困惑,笔者结合自身的实际项目经验,对各个知识点进行归纳、整理、研究,并将相关知识系统地组织起来编写成本书。希望本书能够为各位读者实际应用Elasticsearch提供帮助。

笔者的使用体会

笔者最初在项目中使用Elasticsearch是为了解决关系数据库在大数据场景下查询慢的问题,使用后查询速度有了显著提升,只要集群配置合理,即使索引的数据量达到几千万条,绝大多数查询请求也都能在5s内返回,再配合Kafka消息管道接入实时数据,能够有效满足实时或历史大数据搜索和分析的需要。本书的案例均经过笔者反复验证和测试,可供读者在实际开发中借鉴使用。

本书的特色

本书内容由浅入深、通俗易懂,既深入描述Elasticsearch的各种运行机制,又结合大量的实战案例进行功能讲解,能让读者既知其然,又知其所以然。本书使用的Elasticsearch是7.9.1版本,其功能稳定、强大,很多特性是低版本的Elasticsearch所不具备的。另外,本书的知识覆盖面很广,几乎包含除了X-Pack插件之外的所有常用功能,足以作为读者在实际开发中的参考指南。

本书主要内容

本书从Elasticsearch的功能和业务场景开始,完整地介绍了整个Elastic Stack技术体系,详细地讲解各个组件在生产环境中的搭建、使用和管理方案,可让读者熟悉大数据采集、存储、分析、可视化的完整实施步骤。

本书从逻辑上可分为以下三大部分,共12章,每章内容循序渐进。

原理篇(第1~2章)讲述Elasticsearch的功能、业务场景、安装和内部实现的重要原理。

应用篇(第3~ 9章)讲述Elasticsearch各个模块核心功能的使用。

发散篇(第10~12章)讲述Elastic Stack其他组件的使用,以及这些组件如何协调运作,构成完整的大数据分析架构。

读者对象

Java后端开发工程师:Elasticsearch是后端使用的搜索引擎,并且提供了功能强大的Java客户端,如果你是一个Java后端开发工程师,并且需要在项目中引入Elasticsearch,那么阅读本书对你会有很大的帮助。

大数据开发工程师:Elasticsearch是为大数据而生的,它能够有效弥补Hadoop平台在搜索和分析方面的某些短板,与HBase一起使用更是能起到相得益彰的效果,因此阅读本书并引入Elasticsearch技术对完善大数据的架构体系很有好处。

Elasticsearch技术讲师和学员:本书从零基础的内容开始介绍,着重讲解Elasticsearch的功能、特点、架构和原理等,还发散讲解到整个Elastic Stack,整体的知识结构很完善,包含大量实战案例,很适合培训机构作为教学用书。

搜索引擎技术的爱好者:如果你对搜索引擎技术很感兴趣,并且有志成为该领域的工程师,那么阅读本书可以让你快速掌握Elasticsearch的使用技巧、功能、特性,本书很适合作为入门学习指南。

获取资源

读者可通过QQ:1743995008获取本书配套资源。

勘误和支持

由于笔者水平的限制,书中难免会出现一些疏漏或不准确的地方,敬请广大读者批评指正。如果读者有意见或建议,可以发送邮件到572353948@qq.com,期待得到你们的真挚反馈。

致谢

感谢我的大学导师彭智勇教授,是他教给了我专业知识和做学问需要的严谨、务实的态度和作风。

感谢我的家人和朋友,他们是我在工作中不断努力进步的坚强后盾。

感谢所有阅读本书的读者,你们的鼓励和建议会让我在未来的工作中表现得更好。

谨以此书献给开源社区,献给所有喜欢Elasticsearch技术的朋友们!

王深湛

2023年2月于武汉