苦研ES(Elasticsearch)12天,腾讯、阿里、百度等
2020-07-24 本文已影响0人
老男孩_Misaya
Elasticsearch 是一款非常强大的开源搜索及分析引擎。
除了搜索,结合 Kibana、Logstash和Beats,Elasticsearch 还被广泛运用在大数据近实时分析,包括日志分析、指标监控、信息安全等多个领域。
在国内,阿里巴巴、腾讯、滴滴、今日头条、饿了么、360安全、小米,vivo 等诸多知名公司都在使用Elasticsearch。
这份文档将带你全面掌握 Elasticsearch 在生产环境中的核心实战技能。学完后,你可以在工作中快速构建出符合自身业务的分布式搜索和数据分析系统。
由浅入深:从基础概念到进阶用法,再到集群管理和大数据分析,学完即可应用到实际生产环境中;
实战演练:通过两个 Elasticsearch 实战项目,手把手带你进行实战服务搭建,巩固所学知识点;
认证备考:文档内容涵盖 Elastic 认证的全部考点,有助于你顺利通过认证考试。
Elastic Stack简介
- 简介
- 组件
- 特色介绍
![](https://img.haomeiwen.com/i13465705/8c7ab63dc30da5f7.png)
Elasticsearch是什么
- 搜索是什么
- 数据库做搜索弊端
- 全文检索、倒排索引和Lucene
- 什么是Elasticsearch
- elasticsearch核心概念
- Cluster:集群
- Node:节点
- Index:索引
- Document:文档
- shard:分片
![](https://img.haomeiwen.com/i13465705/9b6f0fb554f2bfa0.png)
Elasticsearch相关软件安装
- Windows安装elasticsearch
- Windows安装Kibana
- Windows安装postman
- Windows安装head插件
![](https://img.haomeiwen.com/i13465705/3d4a3a58dc7a6c8a.png)
ES快速入门
- 文档(document)的数据格式
- 简单的集群管理
- 快速查看集群中有哪些索引
- 快速检查集群的健康状况
- 简单的索引操作
- 商品的CRUD操作(document CRUD操作)
![](https://img.haomeiwen.com/i13465705/41d1e59d9058d847.png)
文档document入门
- 默认自带字段解析
- 生成文档id
- _source 字段
- 文档的替换与删除
- 局部替换 partial update
- 使用脚本更新
- 图解es的并发问题
- 图解悲观锁与乐观锁机制
- 图解es内部基于_version乐观锁控制
- 演示客户端程序基于_version并发操作流程
- 批量查询 mget
- 批量增删改 bulk
- 文档概念学习总结
![](https://img.haomeiwen.com/i13465705/fe81c9e380fbec6e.png)
Java api 实现文档管理
- es技术特点
- java 客户端简单获取数据
- 结合spring-boot-test测试文档增删改查
- 结合spring-boot-test测试文档bulk
![](https://img.haomeiwen.com/i13465705/55301cf96dc73f47.png)
图解es内部机制
- 图解es分布式基础
- es对复杂分布式机制的透明隐藏特性
- Elasticsearch的垂直扩容与水平扩容
- 增减或减少节点时的数据rebalance
- 节点对等的分布式架构
- 图解分片shard、副本replica机制
- 图解单node环境下创建index是什么样子的
- 图解2个node环境下replica shard是如何分配的
- 图解横向扩容
- 图解es容错机制 master选举,replica容错,数据恢复
![](https://img.haomeiwen.com/i13465705/f94fe6f3e953aeec.png)
图解文档存储机制
- 数据路由
- 文档存储如何路由到相应分片
- 路由算法
- 手动指定routing number
- 主分片数里不可变
- 图解文档的增删改内部机制
- 图解文档的查询内部机制
- bulk api奇特的json格式
![](https://img.haomeiwen.com/i13465705/f808c0e211d4af7f.png)
Mapping映射入门
- 什么是mapping映射
- 精确匹配与全文搜索的对比分析
- 全文检索下倒排索引核心原理快速揭秘
- 分词器 analyzer
- query string根据字段分词策略
- mapping的核心数据类型以及dynamic mapping
- 手动管理mapping
- 复杂数据类型
![](https://img.haomeiwen.com/i13465705/91f5910397a63732.png)
索引 Index 入门
- 为什么我们要手动创建索引
- 索引管理
- 定制分词器
- type底层结构及弃用原因
- 定制dynamic mapping
- 零停机重建索引
![](https://img.haomeiwen.com/i13465705/a209df4c9032c845.png)
中文分词器 IK分词器
- Ik分词器安装使用
- ik配置文件
- 使用mysql热更新 词库
- Java api 实现索引管理
![](https://img.haomeiwen.com/i13465705/6b68d41ea63b4c8d.png)
search搜索入门
- 搜索语法入门
- multi-index 多索引搜索
- 初步图解一下简单的搜索原理
- 分页搜索
- deep paging
- query string基础语法
- query DSL入门
- full-text search 全文检索
- DSL 语法练习
- Filter
- 定位错误语法
- 定制排序规则
- Text字段排序问题
- Java api实现搜索
![](https://img.haomeiwen.com/i13465705/63bedb89976f4425.png)
评分机制详解
- 评分机制 TF\IDF
- 算法介绍
- Doc value
- query phase
- fetch phase
- 搜索参数小总结
- preference
- timeout
- routing
- search_type
![](https://img.haomeiwen.com/i13465705/fb9443369dd7ad77.png)
聚合入门
- 6个聚合示例
- 两个核心概念:bucket和metric
- 13个电视案例
- Java api实现聚合
![](https://img.haomeiwen.com/i13465705/5f3d1677b472e8ee.png)
es7 sql新特性
- 快速入门
- 启动方式
- 显示方式
- sql翻译
- 与其他DSI结合
- Java 代码实现sql功能
![](https://img.haomeiwen.com/i13465705/877c51e0136c322b.png)
Logstash学习
- Logstash基本语法组成
- Logstash输入插件(input)
- 读取TCP网络数据
- Logstash过滤器插件(Filter)
- Grok 正则捕获
- 时间处理(Date)
- 数据修改(Mutate)
- Logstash输出插件(output)
- 正则表达式替换匹配字段
![](https://img.haomeiwen.com/i13465705/931121a551e32289.png)
kibana学习
- 基本查询
- 可视化
- 仪表盘
- 使用模板数据指导绘图
![](https://img.haomeiwen.com/i13465705/5f1c3e83e3a9433f.png)
集群部署+项目实战
- 项目一:ELK用于日志分析
- 项目二:学成在线站内搜索模块
![](https://img.haomeiwen.com/i13465705/12b3182d072c6458.png)
该笔记理论和实际代码相辅相成,理论结合画图讲解;代码与spring boot结合;实际部署理论与实践,ELK整体流程项目,包含数据采集。不管是Java开发工程师还是架构师,都能从中提升不少。
该文档我已整理改写完成,在这里分享出来
快速入手通道:(点这里)下载!诚意满满!!!
Java面试精选题、架构实战文档传送门:https://docs.qq.com/doc/DRW1nUkdhZG5zeGVi
整理不易,觉得有帮助的朋友可以帮忙点赞分享支持一下小编~
你的支持,我的动力;祝各位前程似锦,offer不断!!!