Elasticsearch(ES)核心知识点

Elasticsearch(ES)核心知识点


1. 核心概念

  • Document:文档,一条数据(JSON)
  • Field:字段,文档里的属性
  • Index:索引,相当于数据库的"库/表"
  • Type:类型,7.x 已废弃,一个索引只对应一类数据
  • Shard(分片):索引切分成多个分片,实现分布式存储与并发
  • Replica(副本):分片的备份,保证高可用、提高查询吞吐量
  • Node:节点,一个 ES 实例
  • Cluster:集群,多个节点组成
  • Master Node:主节点,管理集群元数据、分片分配
  • Data Node:数据节点,存储数据、执行查询
  • Coordinating Node:协调节点,接收请求、分发、聚合结果
  • Segment:段文件,底层最小存储单位,不可变
  • Translog:预写日志,防止宕机丢数据

2. 核心架构原理

  • 索引被分为多个 主分片(Primary Shard)
  • 每个主分片有多个 副本分片(Replica)
  • 读写都走主分片,副本可分担查询
  • 分片均匀分布在不同节点,实现水平扩展

3. 写入流程(极简)

  1. 数据先写 内存缓冲区
  2. 同时写 Translog(防止宕机丢失)
  3. 定时 refresh → 生成 segment,可被搜索
  4. 多次 segment 后台 merge 合并
  5. 定时 flush → 数据落盘,清空 Translog

4. 查询流程(极简)

  1. 请求发给协调节点
  2. 分发到对应分片
  3. 各分片返回匹配结果
  4. 协调节点聚合、排序、分页
  5. 返回最终结果

5. 分词(ES 核心能力)

  • 对文本进行切词,用于全文检索
  • 中文必须用:IK 分词器
    • ik_max_word:最细粒度拆分
    • ik_smart:粗粒度拆分

6. 高可用机制

  • 多节点 + 分片副本
  • 某个节点挂掉:
    • 对应分片的副本自动提升为主分片
    • 集群自动 rebalance
  • 无单点故障

7. 数据可靠性(防丢)

  • Translog 保证写入不丢失
  • 副本机制保证硬件故障不丢
  • 底层基于 Lucene,持久化安全

8. 常见查询类型

  • match:全文检索(分词后匹配)
  • term:精确匹配(不分词)
  • match_phrase:短语匹配
  • range:范围查询
  • bool:组合查询(must / should / must_not / filter)
  • aggregation:聚合分析(分组、统计、去重)

9. 深度分页问题

  • from + size 过大会深度翻页,性能极差
  • 解决方案:
    • search_after(推荐,生产用)
    • scroll`(适合大量导出)

10. 写入优化

  • 批量写入:bulk
  • 关闭刷新:加大 refresh_interval
  • 副本数调为 0 后再恢复
  • 合理设置分片数

11. 查询优化

  • 避免 * 前缀模糊查询
  • 使用 filter 代替 query(不算分,缓存友好)
  • 字段设置合理类型(keyword 不分词)
  • 避免大结果集返回
  • 利用路由(routing)定位分片

12. 脑裂问题(老生常谈)

  • 原因:网络问题导致多个节点选主

  • 解决:

    复制代码
    discovery.zen.minimum_master_nodes: (master节点数/2)+1

    新版已内置更好的选举机制,基本不会出现。


13. 典型应用场景

  • 搜索引擎(商城、APP 搜索)
  • 日志分析(ELK)
  • 用户行为分析
  • 地理信息检索(附近的店)
  • 报表聚合统计

14. 一句话背诵版

  • 分片实现分布式,副本实现高可用
  • 写入靠translog防丢,查询靠分词提速
  • 全文检索用match,精确匹配用term
  • 深度分页用search_after
  • 大查询用filter,小结果用must

相关推荐
闹小艾9 小时前
舞蹈教培机构小程序零基础制作开发全流程教程
大数据·小程序
阿乔外贸日记9 小时前
2026尼日利亚五项清关政策更新,拉高能源装备进口综合成本
大数据·人工智能·搜索引擎·智能手机·云计算·能源
暴躁小师兄数据学院10 小时前
【AI大数据工程师特训笔记】第12讲:表分区与索引
大数据·笔记·sql·postgresql
侃谈科技圈10 小时前
破除数据中台落地困境:2026数据治理平台差异化能力与选型决策指南
大数据·人工智能
Elastic 中国社区官方博客10 小时前
Elasticsearch DiskBBQ:使用原生 SIMD Blocks 实现快 40% 的向量评分计算
大数据·人工智能·elasticsearch·搜索引擎·ai·全文检索·diskbbq
暴躁小师兄数据学院11 小时前
【AI大数据工程师特训笔记】第16讲:大数据环境安装
大数据·hadoop·笔记·flink·spark·database
豆豆11 小时前
垂直行业门户网站搭建解决方案与落地实操指南
大数据·cms·pageadmin·自定义模型·垂直门户·行业建站·站群建设
Elastic 中国社区官方博客12 小时前
Kibana:使用 AI Chat 及 MCP 轻松创建 AI 原生仪表板
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·信息可视化
Thomas_YXQ12 小时前
Unity无GC读取图片与网格完整方案
大数据·人工智能·unity·微信·产品运营
1892280486113 小时前
NV023固态MT29F16T08GWLCEJ9-QBES:C
大数据·服务器·人工智能·科技·缓存