我建议 Elasticsearch 为第一优先级。需要掌握的内容如下。
(1)掌握 Elasticsearch 的基本概念,主要包括:
索引(index)
类型(type)
映射(mapping)
文档(document)
倒排索引原理
文档打分机制
集群(cluster)—— 单节点、集群安装与部署
健康状态(red/yellow/green)
数据存储
数据类型(long/date/text、keyword/nested 等)
数据展示(结合 Head 插件的基础可视化)
……
(2)掌握 Elasitcsearch 的基本操作,主要包括:
新增(insert)
删除(delete/deletebyquery)
修改(update/updatebyquery)
查找(search)
精确匹配检索(term、terms、range、exists)
模糊匹配检索(wildcard、prefix、negix 正则)
分词全文检索(match/match_phrase 等)
多条件 bool 检索(must/must_not/should 多重组合)
分词(英文分词、拼音分词、中文分词)
高亮
分页查询
指定关键词返回
批量操作 bulk
scroll 查询
reindex 操作
……
(3)掌握 Elasticsearch 高级操作,主要包括:
聚合统计(数量聚合、最大值、最小值、平均值、求和等聚合操作)
图像化展示(hisgram 按照日期等聚合)
聚合后分页
父子文档
数组类型
nested 嵌套类型
ES 插件错误排查(集群问题、检索问题、性能问题)
ES 性能调优(配置调优、集群调优等)
……
(4)掌握 Elasticsearch Java/Python 等 API,主要包括:
Elasticsearch 原生自带 API、JEST、Springboot 等 API 选型
Elasticsearch 多条件 bool 复杂检索 API
Elasticsearch 分页 API
Elasticsearch 高亮 API
Elasticsearch 聚合 API
Elasticsearch 相关 JSON 数据解析
……
(5)Elasticsearch 结合场景开发实战,主要包括:
数据可视化(Kibana、Grafana 等 其中 Grafana 比较适合监控类场景)
通过 logstash/beats 等导入数据
Elasticsearch 和 Kafka 结合的应用场景
Elasticsearch 和 Mongo 结合的应用场景
Elasticsearch 和 Hadoop 结合的应用场景
结合业务需求的定制化应用场景(日志分析、文档检索、全文检索、金融等各行业检索)
……
建议的第二学习优先级为 Kibana。需要掌握的内容如下。
Kibana 安装与部署
ES 节点数据同步到 Kibana
Kibana Dev Tools 开发工具熟练使用
Kibana 图像化组合展示
将 Kibana 图像化展示效果图应用到自己的开发环境中
……
第三学习优先级为 Logstash。需要掌握的内容如下。
Logstash 的安装与部署
Logstash 将本地文件导入 ES
logstashinputjdbc 插件(5.X 后无需安装)将 MySQL/Oracle 等关系型数据库数据导入 ES,全量导入和增量导入实现。
logstashinputmongo 插件将 Mongo 数据导入 ES
logstashinputkafaka 插件将 Kafak 数据导入 ES
logstashoutput* 插件将 ES 数据导入不同的数据库和实时数据流中
……
第四学习优先级为 Beats。需要掌握的内容如下。
不同类型的 Beats 安装与部署
将业务数据通过 Beats 导入 ES
##
##
##