当前位置:
首页 > 计算机 > 程序设计 > 深入理解Elasticsearch(原书第3版)pdf/doc/txt格式电子书下载

深入理解Elasticsearch(原书第3版)pdf/doc/txt格式电子书下载

本站仅展示书籍部分内容

如有任何咨询

请加微信10090337咨询

深入理解Elasticsearch(原书第3版)pdf/doc/txt格式电子书下载

书名:深入理解Elasticsearch(原书第3版)pdf/doc/txt格式电子书下载

推荐语:

作者:(印度)波哈维·荻西特(BharviDixit),刘志斌译

出版社:机械工业出版社

出版时间:2020-01-01

书籍编号:30562544

ISBN:9787111643074

正文语种:中文

字数:189121

版次:1

所属分类:计算机-程序设计

全书内容:

深入理解Elasticsearch(原书第3版)pdf/doc/txt格式电子书下载









译者序


关于本书的主要内容介绍,作者已经在前言中进行了详细介绍,应该足以让读者非常全面地了解这本书。译者也绞尽脑汁地想洋洋洒洒一番,却总怕有画蛇添足之嫌,所以不如干脆凝成一句话:本书适合Elasticsearch的中高级读者阅读,他们可以从设计原理、部署调优、高级特性、扩展开发等方面进行进一步的学习。


译者默默耕耘于数据技术的广袤土地,忽然抬头仰望星空,深感韶华易逝,总觉得应该有些东西可以分享给大家,或者换种方式为这奔涌向前的时代多做一点贡献。幸得贵友推荐,机械工业出版社愿意给予机会,让我可以开始第一次尝试。


此次翻译历时约半年,中间经历反复断续最终得以全部完成。对于这本书的翻译,在不偏离原文内容的原则下,译者尽量使语句通顺、流畅。受水平和经验所限,不足之处在所难免,还请读者多多包涵并不吝赐教。本版的许多内容借鉴了前一版中文译作,在此要向前一版的所有译者表达衷心的感谢。


在此还要对我的家人表达感谢,感谢他们的理解与默默支持。孩子们学业繁重,也期盼能多出去玩乐,却常常只能一起相伴于青灯苦影。只好安慰自己说,我们是在分头努力吧!


最后,感谢Elastic提供的这个强大的搜索服务器,希望它也能越来越好,不断进步!

前言


欢迎来到Elasticsearch的世界并阅读本书。在阅读的过程中,我们将带你了解与Elasticsearch紧密相关的各种话题。但请注意,本书的目标读者并不是初学者,Elasticsearch从1.x演进到5.x已经有了非常大的变化,因此本书在上一版的基础上补充了很多新内容。


本书将探讨与Elasticsearch和Lucene相关的各方面内容。首先简单介绍一下Lucene和Elasticsearch,带你了解Elasticsearch提供的各种查询方法。在这里会涉及与查询相关的不同主题,比如结果过滤、在特定场景下如何选择合适的查询方式等。Elasticsearch当然并非只具备查询功能,本书还将介绍Elasticsearch新引入的聚合功能以及其他特性,帮你挖掘出被索引数据的价值,并为用户提供更好的查询体验。


在与Elasticsearch脚本模块相关的章节中,也将讨论在Elasticsearch中进行数据建模和处理关系型数据的方法,同时也会展示一些用新的默认脚本语言Painless写成的例子。


对大多数用户来说,查询和数据分析是Elasticsearch最吸引人的部分,不过这些并不是本书讨论的全部内容。因此在索引架构的部分,本书还会试图与读者探讨一些额外的话题,比如如何选择合适的分片数和副本数、如何调整分片分配方式等。在讨论Elasticsearch和Lucene之间的关系时,还将介绍不同的评分算法、如何选择合适的存储机制、它们之间的差异、为什么做出合适的选择很重要等。


Elasticsearch的管理功能虽然被放在了最后讨论,但同样重要。这一部分内容包括发现模块和恢复模块,以及对人类友好的Cat API——使用它可以快速获取管理命令的结果,并将返回的JSON格式数据以人类易于阅读的格式展现,无须再次转换。我们还将讨论ingest节点,它可以在生成索引之前就对Elasticsearch中的数据进行预处理,以及如何利用部落节点来完成在多个节点之间进行联合搜索的功能。


看书名就知道,本书不会错过与性能相关的话题,会用整整一章来专门讨论它。


与本书第2版一样,也有一章专门讨论Elasticsearch插件的开发。展示如何构建Apache Maven项目,并开发两个不同类型的插件——自定义REST操作插件和自定义分析插件。


最后一章将讨论完整的Elastic Stack所包含的全部组件,读后会对如何开始使用Logstash、Kibana和Beats等工具有大致的了解。


读过上述内容之后,如果对某些内容产生了兴趣,那么这本书就是适合的。希望读者在读完整本书之后,会喜欢它。


本书主要内容


第1章先介绍了Apache Lucene的工作方式,再介绍Elasticsearch 5.x。主要关注基本概念以及Elasticsearch在从1.x到5.x的演进过程中发生的重要功能变化。


第2章讲解新的默认评分算法BM25,以及它与之前的TF-IDF算法相比的优点。另外还讲解了Elasticsearch的各种功能,如查询改写、查询模板、查询模块的变化,以及在特定场景下可以选择的不同查询方法,等等。


第3章讲述了多匹配控制、二次评分、函数评分查询等查询相关功能。这一章也包括Elasticsearch的脚本模块相关内容。


第4章讨论了在Elasticsearch中进行数据建模的不同方法,以及在真实场景中如何用parent-child关系和嵌套数据类型来处理文档之间的关系。这一章还进一步讨论了用于数据分析的Elasticsearch聚合模块。


第5章关注通过查询建议器(suggester)提升用户搜索体验的话题,它可以改正查询语句中的拼写错误,提供高效的自动补齐功能。本章内容还包括如何提高查询相关性,如何使用同义词进行搜索等。


第6章的主要内容包括选择正确的分片数和副本数、路由是怎么工作的、分片分配是怎么工作的、如何影响分片行为等。本章还讨论了查询执行偏好是什么,以及它是怎样影响查询执行的。


第7章讲述如何更改Apache Lucene的评分机制,以及如何选择备用的评分算法。本章还包括准实时搜索、索引和事务日志的使用,理解索引的段合并机制,再基于Elasticsearch 5.x的删除合并策略细节,就可以根据场景来进行调优了。在本章的最后,还可以了解IO节流(IO Throttling)和Elasticsearch的缓存机制。


第8章关注与管理Elasticsearch相关的内容。其中介绍了什么是发现模块、网关模块和恢复模块,并讲解了如何配置它们,以及为什么值得如此大费周章地配置它们。本章还介绍了什么是Cat API、如何备份数据并恢复到不同云服务上(亚马逊AWS、微软Azure等)。


第9章讲述了Elasticsearch 5的最新特性——ingest节点,用它可以先对数据进行预处理,再在Elasticsearch中生成索引。本章也讲到了联盟搜索使用部落节点在不同的集群之间完成搜索的工作原理。


第10章讨论在不同的负载下如何提升性能、扩展生产集群的正确方法、垃圾回收原理、热点线程问题等以及如何应对它们,并进一步讨论了查询分析和查询基准测试。本章最后针对高查询量和高索引吞吐率这些不同场景,给出了一些Elasticsearch集群的调优建议。


第11章详细地演示和讲解了如何开发自己的REST操作插件和语言分析插件,以及Elasticsearch插件的开发方法。


第12章介绍了Elastic Stack 5.0的各个组件,包括Elasticsearch、Logstash、Kibana和Beats等。


阅读本书的必备资源


本书基于Elasticsearch 5.0.x写成,所有范例代码都可以在该版本下正常运行。除此之外,还需要curl或者一个与curl类似的可以发送HTTP请求的命令行工具,curl在绝大多数操作系统上都可以使用。请注意,本书中的所有例子都使用了curl。如果想换用其他工具,请注意对请求进行正确的格式转换,以保证选择的工具可以正确地解析请求。


另外,如果想要成功运行第11章中的例子,需要在电脑上安装1.8.0_73版本或以上的JDK,并需要一个可以开发代码的编辑器,比如Eclipse之类的Java IDE。本书使用Apache Maven来构建代码和管理依赖项。


本书最后一章基于Elastic Stack 5.0.0写成,因此要准备好Logstash、Kibana和Metricbeat,并要注意保证版本兼容。


本书的目标读者


本书的目标读者是那些对Elasticsearch的基本概念已经熟悉,还想对这个强大的搜索服务器有进一步了解的Elasticsearch用户和发烧友。书中也包括Apache Lucene和Elasticsearch的工作原理,以及Elasticsearch从1.x到5.x的演进过程。除此之外,想了解如何改进查询相关性、如何自己开发插件来扩展Elasticsearch功能的读者,也可以从中受益。


如果刚刚接触Elasticsearch,对查询和索引等基本概念还不熟悉,阅读本书可能会有些吃力,因为大多数章节都假设读者已经具备了相关背景知识。


约定


在本书中可以看到不同字体的文字,它们是用来表示不同信息的。下面是一些例子,用来解释各种不同的字体各自代表什么意思。


下面是一段代码:

深入理解Elasticsearch(原书第3版)pdf/doc/txt格式电子书下载

如果希望读者特别留意代码中的某些部分,相关内容会以粗体显示:

深入理解Elasticsearch(原书第3版)pdf/doc/txt格式电子书下载

所有命令行的输入或输出都用下面的字体表示:

深入理解Elasticsearch(原书第3版)pdf/doc/txt格式电子书下载

深入理解Elasticsearch(原书第3版)pdf/doc/txt格式电子书下载这个符号表示警告或者重要提示。


深入理解Elasticsearch(原书第3版)pdf/doc/txt格式电子书下载这个符号表示提示或者小窍门。


下载示例代码及彩色图片


本书的示例代码及所有截图,可以从http://www.packtpub.com通过个人账号下载,也可以访问华章图书官网http://www.hzbook.com,通过注册并登录个人账号下载。

致谢


这是我关于Elasticsearch的第二本书。第一本书《Elasticsearch Essentials》的读者们给了我许多关怀和反馈,让我非常感动。现在你手里拿到的这本书讲的是与Elasticsearch 5.x相关的内容,这个版本的Elasticsearch为这个强大的搜索服务器增添了许多特性,并做出了许多改进。希望在阅读本书之后,你不仅会了解Lucene和Elasticsearch的底层架构,还可以掌握许多高级概念,比如脚本、改进平台性能、写定制的基于Java的插件等。


是时候说一声谢谢了。


我想感谢我的家庭一直给予我的支持,尤其是我的兄弟Patanjali Dixit,在我的职业生涯中他一直是我力量的支柱。我还要对Lavleen致以最大的谢意,感谢她在我忙于写作或处理工作上的复杂问题时,给予我的爱、支持和鼓励。


我也要对帮助出版这本书的Packt团队表示感谢,包括我们的技术审阅者们。没有他们给予的强大支持,这本书不会像现在这么棒。


我还要对在Sentieo共事的所有人表示感谢,感谢他们共同创造了这样良好的氛围,让工作变得如此有趣。我要对Atul Shah表示特别感谢,他在我研究Lucene和Elasticsearch的各种错综复杂的问题时给了我许多灵感,帮助我解决了许多的难题。


最后要感谢Shay Banon创造了Elasticsearch,感谢所有为这个项目的各种库和模块做出贡献的人们。


再一次,谢谢你们!

作者简介


Bharvi Dixit是一名在搜索服务器、NoSQL数据库和云服务等领域有着丰富经验的IT专家,拥有计算机科学专业的硕士学位,现就职于Sentieo(一家位于美国的财务数据和产权搜索平台),在Sentieo的搜索和数据团队中扮演着关键角色,主导了公司的整体平台架构建设,该架构运行在数百台服务器之上。


Bharvi也是新德里召开的Elasticsearch Meetup Group的组织者,在会上做过有关Elasticsearch和Lucene的演讲,并在不断构建着与这些技术有关的社区。


Bharvi还是一名Elasticsearch顾问,帮助近十家公司采用Elasticsearch的方案解决各自领域内的复杂搜索问题,比如在反恐和危机管理领域的大数据自动化智能平台搜索方案等,还涉及招聘、电子商务、财务、社交搜索和日志监控等其他领域。


Bharvi对打造分布式后端平台也有着强烈的兴趣,另外,感兴趣的领域还包括搜索工程、数据分析和分布式计算等。他喜欢用Java和Python写代码,也为咨询公司构建过专用软件。


Bharvi从2013年开始从事与Lucene和Elasticsearch相关的工作。在2016年写了自己的第一本书《Elasticsear

....

本站仅展示书籍部分内容

如有任何咨询

请加微信10090337咨询

本站仅展示书籍部分内容
如有任何咨询

请加微信10090337咨询

再显示