Elasticsearch7.x学习路线图
2022-08-24 17:24:14 33 举报
AI智能生成
Elasticsearch7.x学习路线图(摘录自微信公众号:铭毅天下Elasticsearch)
作者其他创作
大纲/内容
0.1 搜索引擎是什么?
0.2 倒排索引 VS 正排索引
0.3 搜索相关性模型
中文分词原理
ik
ansj
hanlp
结巴
中文分词开源工具
0.4 分词
精准率
召回率
0.5 检索质量评估标准
0、搜索引擎认知
1.1 Elasticsearch是什么?
1.2 Elasticsearch能干什么?
1.3 Elasticsearch和Lucene、solr的不同是什么?
1.4 Elasticsearch核心优势是什么?
关注最新特性
低版本升级
1.5 实践:安装Elasticsearch最新版本V7.x+
1、Elasticsearch认知
集群
节点
分片
副本
索引
类型
文档
路由
id序列
动态映射
静态映射
Mapping映射
模板
2.1 Elasticsearch基础概念
keyword
text
2.2.1.1 string类型
long
integer
short
byte
double
float
half_float
scaled_float
2.2.1.2 数据类型
date
2.2.1.3 时间类型
boolean
2.2.1.4 布尔类型
binary
2.2.1.5 二进制类型
integer_range
float_range
long_range
double_range
date_range
2.2.1.6 区间类型
2.2.1 基础类型
Array
2.2.2.1 数组类型
Object
2.2.2.2 对象类型
nested
2.2.2.3 Nested类型
2.2.2 复杂类型
Geo-poing
Geo-shape
2.2.3.1 GEO地理位置类型
ip
2.2.3.2 IP类型
completion
2.2.3.3 自动补全类型
tocken_count
2.2.3.4 string长度类型
mumur3
2.2.3.5 percolate类型
percolator
2.2.3.6 父子索引 | Join类型
alias
2.2.3.7 别名类型
2.2.3 特定类型
2.2 Elasticsearch基本数据类型
2.3.1.1 检索和过滤的区别
2.3.1.2 检索和过滤的适用场景
2.3.1 检索和过滤
term单值精确匹配
terms多值精确匹配
2.3.2.1 精确匹配检索
range query
2.3.2.2 范围检索
exists query
2.3.2.3 存在与否检索
prefix query
2.3.2.4前缀检索
wildcard query
2.3.2.5 通配符模糊检索
regexp query
2.3.2.6 正则检索
type query
2.3.2.7 类型检索
ids query
2.3.2.8 Id检索
fuzzy query
2.3.2.9 模糊检索
2.3.2 结构化检索
match query
2.3.3.1 分词全文检索
match_phrase query
2.3.3.2 短语检索
match_phrase_prefix query
2.3.3.3 短语前缀检索
multi_match query
2.3.3.4 多字段匹配检索
query_string
2.3.3.5 支持与或非的字符串检索
simple_query_string
2.3.3.6 简化的字符串检索
2.3.3 全文检索
2.3.4.1 固定得分检索
must
minimum should match
should
must_not
2.3.4.2 bool组合检索
Dis Max query
function score query
Boosting query
2.3.4.3 改变评分检索
2.3.4 复合检索
Nested检索
父子检索
2.3.5.1 父子文档检索
2.3.5.2 Geo类型检索
more like this
2.3.5.3 相似文章检索
script
2.3.5.4 脚本检索
2.3.5 特定检索
2.3 Elasticsearch基本检索类型
2.4.1.1 cardinality 去重
2.4.1.2 Avg 聚合
2.4.1.3 Max 聚合
2.4.1.4 Mix 聚合
2.4.1.5 Sum 聚合
2.4.1.6 ......
2.4.1 Metric聚合
2.4.2.1 Terms分组聚合
2.4.2.2 立方图Histogram聚合
2.4.2.3 时间区间聚合Data histogram聚合
2.4.2.4 过滤Filter聚合
2.4.2.5 Nested聚合
2.4.2.6 ......
2.4.2 Buckting聚合
2.4.3.1 Bucket Script聚合
2.4.3.2 Bucket Selector聚合
2.4.3.3 Bucket Sort聚合
2.4.3.4 Max/Min/AVG/Sum Bucket聚合
2.4.3.5 ......
2.4.3 Pipeline聚合
后续版本可能会删除
2.4.4 Matrix聚合
2.4 Elasticsearch基本聚合类型
green
yellow
red
health API
2.5.1.1 集群状态分类
state
集群状态
stats
集群统计
_tasks
集群任务管理
_nodes
节点信息
_nodes/hot_threads
活跃线程信息
2.5.1.2 集群状态监控
_snapshot
_restore
2.5.1.3 集群备份
2.5.1 Elasticsearch集群基本操作
put index
2.5.2.1 增
delete index
2.5.2.2 删
reindex
elasticsearch-dump
Elasticsearch-Exporter
logstash
elasticsearch-migration
第三方工具
索引数据迁移
注意索引一旦创建,分片数不可以更改,除非reindex
修改副本数
shrink
索引压缩
2.5.2.3 改
Get index 结合 _settings
2.5.2.4 查
2.5.2 Elasticsearch索引基本操作
put document
单个文档写入
bulk写入
批量写入
mysql
sql server
oracle
pgsql
关系型数据库导入
mongo
redis
非关系型数据库导入
hadoop
spark
大数据导入
logstash_input_*
flume
kafka实时数据流
kafka-connector
第三方导入
2.5.3.1 增
delete document
单个删除
delete by query
批量删除
2.5.3.2 删
update结合script
单个修改
update_by_query
批量修改
2.5.3.3 改
详见2.3
单个检索
scroll游标遍历
批量检索
from+size
分页
2.5.3.4 查
默认
Unified Highlighter
plain Highlighter
适合大文件
fvh Highlighter
2.5.3.5 高亮
Term Suggester
Phrase Suggester
Completion Suggester
Context Suggester
2.5.3.6 推荐
中英文分词的区别
jieba
中文分词插件
动态更新词典策略
2.5.3.7 分词
同义词词典配置
2.5.3.8 同义词
profile:true
2.5.3.9 调试
2.5.3 Elasticsearch文档基本操作
2.5 Elasticsearch基本操作
xpack提升安全
kibana工具
Head浏览器插件
cerebro监控工具
2.6 Elasticsearch常用工具
2、Elasticsearch基础
Master主节点
Client路由节点
data数据节点
3.1.1 Elasticsearch 节点数规划
Elasticsearch每个分片支持数据量
业务数据分类数量VSES存储
3.1.2 Elasticsearch 分片/副本规划
3.1.3 Elasticsearch 堆内存核心原理
堆内存优化设置
线程数、队列优化设置
候选主节点设置
更新中文分词词典
3.1.4 Elasticsearch 部署优化
3.1 Elasticsearch 集群规划
3.2.1 Elasticsearch数据建模的重要性
3.2.2 Elasticsearch建模流程
3.2 Elasticsearch 数据建模
template
rollover
3.3.1 基于时间轴动态创建索引
curator
3.3.2 定时清理索引
3.3.3 Elasticsearch冷热数据分离
3.3 Elasticsearch 生命周期管理
没有使用批量操作
使用批量操作,但值设置不对
ES队列线程池设置不合理
3.4.1 Elasticsearch写入为什么慢
3.4.2.1 逐步调大批量请求数
3.4.2.2 增加刷新间隔
3.4.2.3 写入前关闭副本
3.4.2.4 禁用refresh
3.4.2.5 尽量使用自动生成id
3.4.2 Elasticsearch写入提速
3.4 Elasticsearch 写入性能优化
如:所有数据写入固定一个索引
索引设置不合理
Mapping映射字段设置不合理
如:wildcard
DSL设置不合理,有优化空间
如:cont/html_cont
返回字段非常多
慢日志监控
cpu、内存、堆内存使用率
确认是否有并发写入等
监控集群状态
3.5.1 Elasticsearch检索为什么慢
profile:rtrue分析,找到根本原因
3.5.2.1 先确认是哪里慢
预留足够多内存做内存缓存
更快的硬件
3.5.2.2 硬件层面
提前数据建模
减少检索字段
Mapping优化
避免使用script
使用近似日期
只读数据force_merge
范围检索使用keyword而非range
3.5.2.3 数据层面
使用文件系统缓存
preference优化缓存利用率
3.5.2.4缓存方面
3.5.2 Elasticsearch检索提速
3.5 Elasticsearch 检索性能优化
3.6 Elasticsearch 磁盘读写优化
3.7 Elasticsearch 插件开发
kibana分析+使用
3.8 Elasticsearch 集群高效监控
写入原理
检索原理
......
3.9 Elasticsearch底层核心原理
3、Elasticsearch进阶
借助ELK可视化分析
4.1 Elasticsearch日志分析
梳理需求,写出需求文档、设计文档
创建模板、索引、Mapping
tika文档解析整合
导入数据
检索实战
聚合实战
数据可视化
4.2 Elasticsearch全文检索
4、Elasticsearch实践
Elasticsearch7.x学习路线图摘自公众号:铭毅天下Elasticsearch
0 条评论
回复 删除
下一页