靠这份ES(Elasticsearch)文档,成功斩获谷歌、阿里、百度等大厂高薪offer!

161 阅读6分钟

es是什么

elasticsearch简写es,es是一个高扩展、开源的全文检索和分析引擎,它可以准实时地快速存储、搜索、分析海量的数据。

什么是全文检索

全文检索是指计算机索引程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置,当用户查询时,检索程序就根据事先建立的索引进行查找,并将查找的结果反馈给用户的检索方式。这个过程类似于通过字典中的检索字表查字的过程。全文搜索搜索引擎数据库中的数据。

es的应用场景

一个线上商城系统,用户需要搜索商城上的商品。

在这里你可以用es存储所有的商品信息和库存信息,用户只需要输入”空调”就可以搜索到他需要搜索到的商品。

一个运行的系统需要收集日志,用这些日志来分析、挖掘从而获取系统业务未来的趋势。

你可以用logstash(elk中的一个产品,elasticsearch/logstash/kibana)收集、转换你的日志,并将他们存储到es中。一旦数据到达es中,就你可以在里面搜索、运行聚合函数等操作来挖掘任何你感兴趣的信息。

如果你有想基于大量数据(数百万甚至数十亿的数据)快速调查、分析并且要将分析结果可视化的需求。

你可以用es来存储你的数据,用kibana构建自定义的可视化图形、报表,为业务决策提供科学的数据依据。

直白点讲,es是一个企业级海量数据的搜索引擎,可以理解为是一个企业级的百度搜索,除了搜索之外,es还可以快速的实现聚合运算。

Elasticsearch 是一款非常强大的开源搜索及分析引擎。

除了搜索,结合 Kibana、Logstash和Beats,Elasticsearch 还被广泛运用在大数据近实时分析,包括日志分析、指标监控、信息安全等多个领域。

在国内,阿里巴巴、腾讯、滴滴、今日头条、饿了么、360安全、小米,vivo 等诸多知名公司都在使用Elasticsearch。

这份文档将带你全面掌握 Elasticsearch 在生产环境中的核心实战技能。学完后,你可以在工作中快速构建出符合自身业务的分布式搜索和数据分析系统。

Elastic Stack简介

由浅入深:从基础概念到进阶用法,再到集群管理和大数据分析,学完即可应用到实际生产环境中;
实战演练:通过两个 Elasticsearch 实战项目,手把手带你进行实战服务搭建,巩固所学知识点;
认证备考:文档内容涵盖 Elastic 认证的全部考点,有助于你顺利通过认证考试。

  • 简介
  • 组件
  • 特色介绍

—— 【点击免费领取】

Elasticsearch是什么

  • 搜索是什么
  • 数据库做搜索弊端
  • 全文检索、倒排索引和Lucene
  • 什么是Elasticsearch
  • elasticsearch核心概念
  • Cluster:集群
  • Node:节点
  • Index:索引
  • Document:文档
  • shard:分片

Elasticsearch相关软件安装

  • Windows安装elasticsearch
  • Windows安装Kibana
  • Windows安装postman
  • Windows安装head插件

ES快速入门

  • 文档(document)的数据格式
  • 简单的集群管理
  • 快速查看集群中有哪些索引
  • 快速检查集群的健康状况
  • 简单的索引操作
  • 商品的CRUD操作(document CRUD操作)

文档document入门

  • 默认自带字段解析
  • 生成文档id
  • _source 字段
  • 文档的替换与删除
  • 局部替换 partial update
  • 使用脚本更新
  • 图解es的并发问题
  • 图解悲观锁与乐观锁机制
  • 图解es内部基于_version乐观锁控制
  • 演示客户端程序基于_version并发操作流程
  • 批量查询 mget
  • 批量增删改 bulk
  • 文档概念学习总结

Java api 实现文档管理

  • es技术特点
  • java 客户端简单获取数据
  • 结合spring-boot-test测试文档增删改查
  • 结合spring-boot-test测试文档bulk

图解es内部机制

  • 图解es分布式基础
  • es对复杂分布式机制的透明隐藏特性
  • Elasticsearch的垂直扩容与水平扩容
  • 增减或减少节点时的数据rebalance
  • 节点对等的分布式架构
  • 图解分片shard、副本replica机制
  • 图解单node环境下创建index是什么样子的
  • 图解2个node环境下replica shard是如何分配的
  • 图解横向扩容
  • 图解es容错机制 master选举,replica容错,数据恢复

图解文档存储机制

  • 数据路由
  • 文档存储如何路由到相应分片
  • 路由算法
  • 手动指定routing number
  • 主分片数里不可变
  • 图解文档的增删改内部机制
  • 图解文档的查询内部机制
  • bulk api奇特的json格式

Mapping映射入门

  • 什么是mapping映射
  • 精确匹配与全文搜索的对比分析
  • 全文检索下倒排索引核心原理快速揭秘
  • 分词器 analyzer
  • query string根据字段分词策略
  • mapping的核心数据类型以及dynamic mapping
  • 手动管理mapping
  • 复杂数据类型

索引 Index 入门

  • 为什么我们要手动创建索引
  • 索引管理
  • 定制分词器
  • type底层结构及弃用原因
  • 定制dynamic mapping
  • 零停机重建索引

中文分词器 IK分词器

  • Ik分词器安装使用
  • ik配置文件
  • 使用mysql热更新 词库
  • Java api 实现索引管理

search搜索入门

  • 搜索语法入门
  • multi-index 多索引搜索
  • 初步图解一下简单的搜索原理
  • 分页搜索
  • deep paging
  • query string基础语法
  • query DSL入门
  • full-text search 全文检索
  • DSL 语法练习
  • Filter
  • 定位错误语法
  • 定制排序规则
  • Text字段排序问题
  • Java api实现搜索

评分机制详解

  • 评分机制 TF\IDF
  • 算法介绍
  • Doc value
  • query phase
  • fetch phase
  • 搜索参数小总结
  • preference
  • timeout
  • routing
  • search_type

聚合入门

  • 6个聚合示例
  • 两个核心概念:bucket和metric
  • 13个电视案例
  • Java api实现聚合

es7 sql新特性

  • 快速入门
  • 启动方式
  • 显示方式
  • sql翻译
  • 与其他DSI结合
  • Java 代码实现sql功能

Logstash学习

  • Logstash基本语法组成
  • Logstash输入插件(input)
  • 读取TCP网络数据
  • Logstash过滤器插件(Filter)
  • Grok 正则捕获
  • 时间处理(Date)
  • 数据修改(Mutate)
  • Logstash输出插件(output)
  • 正则表达式替换匹配字段

kibana学习

  • 基本查询
  • 可视化
  • 仪表盘
  • 使用模板数据指导绘图

集群部署+项目实战

  • 项目一:ELK用于日志分析
  • 项目二:学成在线站内搜索模块

该笔记理论和实际代码相辅相成,理论结合画图讲解;代码与spring boot结合;实际部署理论与实践,ELK整体流程项目,包含数据采集。不管是Java开发工程师还是架构师,都能从中提升不少。

该文档我已整理改写完成,在这里分享出来

—— 【点击免费领取】

整理不易,觉得有帮助的朋友可以帮忙支持一下小编~

你的支持,我的动力;祝各位前程似锦,offer不断!!!