Elasticsearch 搜索引擎核心复习
本文件为大纲索引,点击各章节标题可跳转到详细内容。
知识点目录
| # |
章节 |
核心内容 |
| 1 |
引入与背景 |
ES 解决了什么问题、与 MySQL 的对比、系统架构中的位置 |
| 2 |
核心概念 |
Index/Document/Field/Mapping/Shard 与关系型数据库的对应关系 |
| 3 |
倒排索引 |
正排 vs 倒排、构建过程、为什么比 LIKE 快几个数量级 |
| 4 |
Mapping 设计 |
字段类型对比、text/keyword 区别、动态 Mapping 的坑 |
| 5 |
查询 DSL |
query/filter context、bool 查询、filter 性能优势 |
| 6 |
集群架构与分片机制 |
集群架构图、分片核心规则、集群健康状态 |
| 7 |
性能优化 |
写入优化、查询优化、深度分页问题与 search_after |
| 8 |
数据一致性 |
MySQL 与 ES 同步方案:Canal/双写/定时任务对比 |
核心知识速览
ES vs MySQL 适用场景
| 场景 |
MySQL |
ES |
| 全文搜索 |
❌ LIKE 全表扫描 |
✅ 倒排索引,毫秒级 |
| 精确查询 |
✅ B+ 树索引 |
✅ term/filter |
| 复杂聚合 |
❌ 亿级数据极慢 |
✅ 分布式并行聚合 |
| 相关性排序 |
❌ 无法计算得分 |
✅ TF-IDF / BM25 |
高频面试题索引
一句话口诀
ES 靠倒排索引做全文检索,靠 Mapping 定义字段类型,靠 bool 查询组合条件,靠 filter 提升性能,靠分片水平扩展,靠 search_after 解决深度分页。