跳转至

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

高频面试题索引

面试题 详见
倒排索引和 B+ 树索引的区别? 倒排索引
写入数据后为什么不能立即查到? 性能优化
如何保证 MySQL 和 ES 的数据一致性? 数据一致性
query 和 filter 有什么区别? 查询 DSL
为什么主分片数创建后不可修改? 集群架构与分片机制

一句话口诀

ES 靠倒排索引做全文检索,靠 Mapping 定义字段类型,靠 bool 查询组合条件,靠 filter 提升性能,靠分片水平扩展,靠 search_after 解决深度分页。