Skip to content

ElasticSearch 知识体系总览

ElasticSearch 是当今最流行的分布式搜索引擎,在日志分析(ELK)、全文搜索、推荐系统等场景中广泛应用。面试中,ES 的考察从「会写 DSL 查询」升级到「懂分片原理、写入流程、倒排索引」——理解底层原理才能应对深度追问。


第1阶段 倒排索引 → 分词器、词典
第2阶段 分片路由 → 主分片、副本
第3阶段 写入查询 → refresh、搜索流程
第4阶段 聚合分析 → Bucket、Metric
ElasticSearch
┌───────────┬─────────────┴─────────────┐
▼ ▼ ▼ ▼
倒排索引 分片路由 写入查询 聚合
│ │ │ │
• FST压缩 • 主分片 • refresh • Bucket
• 分词器 • 副本 • flush • Metric
• 词典 • 路由 • translog • Pipeline
• PostingList • 集群状态 • BM25 • 深度分页
专题考察频率难度核心能力
倒排索引★★★★★分词原理
分片路由★★★★☆路由算法
写入查询★★★★☆写入流程
聚合★★★☆☆聚合优化

🔍 倒排索引

高频 ⭐⭐⭐⭐⭐

覆盖:倒排索引结构、词项字典、Posting List、分词器原理、FST 压缩、与 B+树的对比。

进入专题 →

🗂️ 分片与路由

高频 ⭐⭐⭐⭐⭐

覆盖:主分片与副本分片、路由算法、分片数量设计、跨分片查询协调、集群状态与选主。

进入专题 →

⚡ 写入/查询原理

高频 ⭐⭐⭐⭐

覆盖:文档写入流程(refresh/flush/translog)、近实时搜索、查询流程(scatter-gather)、相关性评分(BM25)。

进入专题 →

📊 聚合分析

中频 ⭐⭐⭐

覆盖:Bucket 聚合、Metric 聚合、Pipeline 聚合、聚合性能优化、与 SQL GroupBy 的对比。

进入专题 →


知识点初级面试中级面试高级面试
全文搜索基本概念✅ 必问✅ 必问✅ 必问
倒排索引原理偶尔✅ 常问✅ 必问
分词器✅ 常问✅ 常问✅ 必问
分片概念偶尔✅ 常问✅ 必问
路由算法❌ 少问✅ 常问✅ 必问
写入流程/refresh❌ 少问✅ 常问✅ 必问
近实时搜索延迟❌ 少问偶尔✅ 常问
BM25 评分❌ 少问偶尔✅ 常问
聚合性能优化❌ 少问偶尔✅ 常问

┌─────────────────────────────────────────────────────┐
│ ES 集群 │
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌────────────┐ │
│ │ Node 1 │ │ Node 2 │ │ Node 3 │ │
│ │ (Master) │ │ │ │ │ │
│ │ │ │ │ │ │ │
│ │ 主分片 P0 │ │ 主分片 P1 │ │ 主分片 P2 │ │
│ │ 副本分片 R1 │ │ 副本分片 R2 │ │ 副本分片R0 │ │
│ └──────────────┘ └──────────────┘ └────────────┘ │
│ │
│ 共享的集群状态(ClusterState)由 Master 节点维护 │
└─────────────────────────────────────────────────────┘

场景ESMySQL
全文搜索✅ 最佳❌ 性能差(LIKE %keyword%)
结构化查询(精确匹配)可以✅ 最佳
聚合统计✅ 强大✅ 适合
实时写入近实时(1s延迟)✅ 实时
事务支持❌ 无✅ 完整 ACID
复杂 JOIN❌ 不支持✅ 支持
水平扩展✅ 天然支持困难