多种网盘链接检测插件 购买前,请先检测网盘链接是否有效
《Elasticsearch技术解析与实战》_1
《Elasticsearch技术解析与实战》_2
《Elasticsearch技术解析与实战》_3
内容简介:
数据分析与决策技术丛书
Elasticsearch技术解析与实战
Zhu林编著
图书在版编目(CIP)数据
Elasticsearch技术解析与实战/Zhu林编響,一北京:机械工业出版社,2016,12
ISBN978-7-111-55327-4
1.E…I.Zhu…Ⅲ.互联网络一情报检索IN.G354.4
中guo版本图书馆CIP数据核字(2016)第274894号
Elasticsearch技术解析与实战
出版发行:机械工业出版社
责任编量:是怕
责任校对:服虹
ri印刷:北京市荣盛彩色印有限公司
定价:79.00元
凡网本书,如有缺面、倒页、院面,由本社发行
客热010)8837942688361066
投稿热010)88379604
书热线010)683262948837964968995259读者信箱: hit (a .H.O.O.K.,com
版权所有·侵权必究
封无防标均为资版
本书法律同:北京大成律师事务所光邹晓东
v前言
Elasticsearch是目前全球最受欢迎的全文搜索引攣。初识 Elasticsearch是在2012年的
个项目中,当时 Elasticsearch还是0.19.0版本,但是功能已经比较强大,只是接口稍微有点
复杂。到了2015年年初,公司开发了一款ri志分析产品,它实时不间断地采集用户网络中
各种不同系统的ri志,然后从中分析系统的.安.全.情况、系统情况、业务情况。最初所有的数
据都存储在 MYSQL中,随着ri志的不断增加, MYSQL搜索速度越来越慢。后来在更换技
术架构选型的时候又想到了 Elasticsearch,这个时候 Elasticsearch已经是1.60版本了。我们
对此进行了简单的测试,在上亿条的数据搜索中很多都在一秒内完成,在上亿条的数据中进
行统计分析大多也是在秒级完成,它展示了强大实力。我们顺勢就把 Elasticsearch整合到了
现在的产品中,取得了很好效果。到了2016年3月的时候, Elasticsearch发布了23.0版本
各方面更加成熟,我们的产品又再一次升级到这个新版本上
Elasticsearch产品的更新变化非常快,在我们开发研究的过程中基本上找不到新版本的
中文资料,目前市场上介绍 Elasticsearch的中文书籍都是在版本1.0Zuo右,甚至更早,这些
书的很多内容尤其是开发接口相关的部分都已经过时,没有办法在新版本中使用。所以我们
开发的过程中基本上都是研究官方文档,有时候甚至研究它的源码才能解决问题。在接口选
择的时候我们在HTTPJSON接口和lava接口中做了取含,我们当时分析HTTPJSON:接口
最终还是要转换成Java接口,不如直接使用Java接口,一是效率可能更高,二是在部署实
施的时候减少一个端口,三是对后续的升级更有利,比如后续增加权限认证等。但这些东西
都没有资料,我们基本上都是研究系统源码来克服的。在后续研究过程中,我们发现HTTP
接口转换到Java接ri是有规律的,所以对HTP接口的掌握对后续 Elasticsearch的开发和扩
展也有很大的帮助。在持续研究的过程中,我们积累了大量经验,并想把这些经验分享给更
多需要的人。后来我把这个想法给出版社的吴恰编辑做了沟通,她非常支持我们的想法,便
有了这本书。
本书首先介绍 Elasticscarch的相关基础知识,然后由浅入深地介绍 Elasticsearch索引查
询相关的知识,包括索引、映射、搜索、聚合,接着介绍 Elasticsearch的集群、分词、重要
的配置等高级功能,以及 Elasticsearch相关的其他产品,包括告jing、监控、权限管理,最后
通过一个ELK示例结束本书。在写作的时候考虑到读者的接受能力,由浅入深地进行讲解
建议读者从前往后阅读
本书主要内容包括
第1章“ Elasticsearch入门”,介绍 Elasticsearch是什么、 Apache Lucene的基础知识
Elasticscarch的术语、JSON介绍、Elasticsearch的安装运行、Elasticsearch的HTTP接口和
Elasticsearch的 Java API接口
第2章“索引”,介绍和 Elasticsearch索引相关的接口,包括索引管理、索引映射管理
索引别名、索引设置、索引监控、索引其他重要接口以及文档管理。
第3章“映射”,介绍 Elasticsearch文档的内部结构, Flasticsearch支持的字段类型,除
此之外,本章还将展示 Elasticsearch内置的元字段,映射的参数和动态映射功能
第4章“搜索”,详细介绍和搜索相关的知识,包括搜索的详细参数,搜索的评分机制
动查询、系统内部隐内容的查询、搜索模板等;接着介绍 Elasticsearch的领域查询语言
DSL (Domain:
ic Language)相关的知识点;最后介绍 asticsearch的精简查询接口。
第5章“聚合”,聚合可以对文档中的数据进行统计汇总、分组等,通过聚合可以完成
很多的统计功能,该章介绍聚合相关的知识,包括度量聚合、分组聚合和管道聚合
第6章“集群管理”,详细介绍和集群相关的内容,包括集群的监控、集群分片迁移
集群的节点配置、集群发现、集群平衡的原理和配置。
第7章“索引分词器”,介绍 Elasticsearch的分词器和分词的原理,以及如何添加新的
分词器等;还介绍 Elasticsearch的插件相关知识,包括插件安装等
第8章“高级配置”,介绍 Elasticsearch的高级配置,包括网络配置、脚本配置、快照
和恢复配置、线程池配置和索引配置
第9章“告jing、监控和权限管理”,介绍 Elasticsearch官方支持的几个比较好的插件:
Watcher、 Marvel、 Shield,它们可以对 Elasticsearch进行告jing、监控和权限管理。
第10章“ELK应用”,介绍 Elasticsearch与另外两个产品 Logstash和 Kiana如何组合
使用, Logstash是对ri志进行收集和处理, Kiana是对存储在 Elasticsearch中的索引进行展
示和报表分析;最后通过一个简单的示例来介绍ELK几个产品是如何关联的
在编写本书的时候, Elasticsearch的最新版本是2.2.0,但本书准备正式出版的时候
Elasticsearch发布了最新的5.0版本。所以本书増加了一个附录专门介绍5.0版本的特性与改
进。本书前面的部分截图是2.2.0版本的,书中所有的例子和功能都可以在 Elasticsearch2.3.3
下运行,大部分的功能都可以在5.0下运行,详细的新版本差别请参考附录部分。本书中的
例子大部分都是HTTP接口的,这些接口的测试使用了ElasticsearchHead插件。如果你想使
用另一种工具,请注意修改HTTP请求的格式和编码,以便适合你所选择的工具。书中例子
的结构大多是JSON格式,美化后的JSON格式比较容易阅读,但美化后的JSON格式比较
长,所以我们在不影响阅读的情况下,对美化后的格式做了简单调整。书中还有一小部分是
Java接口,我们在实验时用的是 Eclipse工具,其他主流的Java开发工具都适用。
本书的目标读者是对全文检索和 Elasticsearch有兴趣的读者,如果你是一个初学者
通过本书你将学到 Elasticsearch的基础知识,以及如何使用一些高级功能。如果你已经知
道并使用了 Elasticsearch但又想深人了解其本身,想了解如何改进查询相关性,如何使用
csearch Java API等,也会发现本书的实用性
于时间紧,能力有限,编写的过程中难免有不当之处,还请各位读者不吝指出
致谢
在此,首先我想感谢我的家庭,多年以来,因为工作关系我照顾他们太少,他们为我付出
太多;我在全身心投入本书写作的时候,他们同样表现出了极大的耐心,是我最坚强的后盾。
其次还要感谢赛克蓝德公司以及公司的同事:周忠立、万荣慧和夏海华,是他们的辛勤
工作才完成本书的编写工作,尤其是周忠立在很多章节的编写上贡献了很多的内容;同
感谢本书的出版团队,尤其是吴怡编辑,写书是件非常艰巨的任务,很多内容需要反复推敲
才能表达准确的意思,吴怡在检査错误、校稿、消除表达歧义等方面做出了很多贡献
最后,非常诚挚地感谢所有 Elasticsearch项目的创建者和开发者,感谢他们杰出的工作
和对开源项目的热情。没有他们,就没有本书的诞生,没有他们,开源搜索引擎就不会有现
在这种活力。再次感谢
2016年10月于南京
#############################################
|
|