前言
只有光头才能变强。
不知道大家的公司用Elasticsearch多不多,反正我公司的是有在用的。平时听同事们聊天肯定避免不了不认识的技术栈,例如说:把数据放在引擎,从引擎取出数据等等。
如果对引擎不了解的同学,就压根听不懂他们在说什么(我就是听不懂的一位,扎心了)。引擎一般指的是搜索引擎,现在用得比较多的就是Elasticsearch。
什么是Elasticsearch?
Elasticsearch is a real-time, distributed storage, search, and analytics engine
Elasticsearch 是一个实时的分布式存储、搜索、分析的引擎。
介绍那儿有几个关键字:
实时
分布式
搜索
分析
于是我们就得知道Elasticsearch是怎么做到实时的,Elasticsearch的架构是怎么样的(分布式)。存储、搜索和分析(得知道Elasticsearch是怎么存储、搜索和分析的)
然而在学习中苦于缺少参考资料、遇到问题缺少专家指点、看源码掉入细节耗费大量时间精力、缺乏指引的最佳实践。不过不要慌,这次特地整理分享这份Elasticsearch从基础到进阶学习笔记给有需要的朋友!
从es底层对文档、索引、搜索、聚合、集群进行介绍,从搜索和聚合分析实例来展现es的魅力。Logstash从内部如何采集数据到指定地方来展现它数据采集的功能。Kibana则从数据绘图展现数据可视化的功能。
基础篇
Elastic Stack简介
Elasticsearch是什么
这部分为学习 Elasticsearch 的入门篇,搭建一个 Elasticsearch 服务。搭建服务是学习Elasticsearch 的基础,本篇将会细致、全面地讲解如何搭建一个符合标准的 Elasticserch 服务,同时会讲解一些实用的搭建技巧。
Elasticsearch相关软件安装
es快速入门
文档document入门
Java api 实现文档管理
图解es内部机制
图解文档存储机制
Mapping映射入门
索引Index入门
使用 Elasticsearch 做搜索很容易,做好搜索相当难!好的索引设计在整个集群规划中占据举足轻重的作用,索引的设计直接影响集群设计的好坏、复杂度和工作效率。这部分首先会带领大家深入解读 Elasticsearch 索引设计的重要性,然后结合近千万级别的实战经验就索引设计的关键问题进行逐一解读,帮助大家提升索引设计技能,少走不必要的弯路,避免开发尾期因设计缺陷而返工,提高开发效率。
高级篇
中文分词器 IK分词器
Java api 实现索引管理
search搜索入门
java api实现搜索
评分机制详解
这部分主要分为Elasticsearch 搜索引擎应用实战、Elasticsearch 的中文分词器和高级复杂查询、日志分析系统 ELK 应用实战,讲解独立安装、配置、搭建 ES 环境,并且在自己的项目中使用它。
实战篇
聚合入门
java api实现聚合
es7 sql新特性
Logstash学习
kibana学习
集群部署
项目实战
内容展示
总结
如今大数据横行天下,如何快速存储和查看应用数据变得必不可少,搜索便引擎顺势而生。ElasticSearch 底层依赖 Lucene 在其上进行大量简化封装,并具备高可用,分布式等特点,最主要是周边产品丰富 Logstash Kibana Beats 套件的完善,让ElasticSearch 得到长足和快速的发展,也是如今各个公司必不可少的基础架构组件。
上面这份ElasticSearch学习笔记能让有需要的朋友收获如下:
最新的ElasticSearch特性运用
ElasticSearch业务核心技能比如Kibana业务分析方法,这些方法将会满足绝大多数公司需求,饼图,折线图,柱状图,聚合分析,分桶等。
ElasticSearnch大数据搜索分析高级玩法比如DSL查询语法的基础与高级用法,了解如何使用DSL为全文检索服务,了解如何把ES当做数据库,使用DSL实现各种SQL操作。
ElasticSearch环境部署和搭建比如集群搭建,了解分片,实例,节点角色概念,什么是倒排索引,对ES有个整体的把握。