知识脉络#
ElasticSearch
├── 基础架构
│ ├── [ES架构与核心概念](/topics/elasticsearch/ES架构与核心概念)(Index/Shard/Document/Node角色)
│ ├── [分片与副本机制](/topics/elasticsearch/分片与副本机制)(路由/规划/高可用)
│ └── [ES集群管理与选主](/topics/elasticsearch/ES集群管理与选主)(选主协议/健康状态/扩缩容)
├── 索引与分词
│ ├── [倒排索引原理](/topics/elasticsearch/倒排索引原理)(FST/Posting List/压缩)⭐极高频
│ └── [分词器与Analyzer](/topics/elasticsearch/分词器与Analyzer)(IK/自定义/同义词)
├── 查询与分析
│ ├── [ES查询DSL与评分机制](/topics/elasticsearch/ES查询DSL与评分机制)(bool/BM25/function_score)
│ └── [ES聚合查询](/topics/elasticsearch/ES聚合查询)(Bucket/Metric/Pipeline)
├── 工程实践
│ ├── [ES与MySQL数据同步](/topics/elasticsearch/ES与MySQL数据同步)(Canal/Kafka/全量重建)⭐极高频
│ └── [ES性能调优](/topics/elasticsearch/ES性能调优)(写入/查询/集群/深分页)
plaintext
知识点清单#
口诀速记#
- 架构:Index 是表,Shard 是分区,Document 是行
- 写入:写 Primary → 同步 Replica → refresh 可搜索
- 查询:Query-then-Fetch:先各分片出候选,再汇总取文档
- 同步:Canal 听 binlog → Kafka → Consumer 写 ES
- 调优:写入三招(批量/延刷/关副本),查询三招(filter/routing/search_after)
跨域关联#
- 倒排索引 → B+树索引原理(MySQL):正排 vs 倒排的互补
- 数据同步 → 缓存与数据库一致性(Redis):都是异步同步保最终一致
- 分片机制 → 分库分表方案(分布式系统):hash 路由的相同思想
- 集群选主 → Raft协议(分布式系统):ES 7.x 基于 Raft 选主
- 性能调优 → GC调优实战(JVM):ES 堆内存 ≤31GB 与 Compressed OOP