连载中 20/20

收官复盘:一张 Elasticsearch 作战地图

2026-08-20 · 758 阅读 · 0 评论 · 0 赞

完结,地图常翻

从那条搜不到「燕麦拿铁」的 LIKE 开始,20 篇写完:倒排、分词、mapping、近实时、查询、评分、聚合、集群、分片、同步、调优。最后一篇不添新知识,只做一件事——把散落的内容拼成一张出事时能直接翻的作战地图

作战地图:症状 → 篇目 → 第一动作

症状第一动作复习篇目
搜不到明明存在的东西_analyze 看分词,核对 match 与 term第 4、7 篇
排序结果不符合预期explain 拆分 _score第 8 篇
聚合报错或结果无意义检查字段是不是 text 聚合第 5、11 篇
写入后搜不到确认 refresh 周期与链路差异第 6 篇
翻页到深处报错换 search_after 或限页第 10 篇
导入速度感人bulk 加副本归零加关刷新第 12 篇
集群灯变黄变红_cat/shards 看未分配分片第 13 篇
内存持续上涨数一数分片总数与 fielddata第 11、14 篇
接口 P99 飙升慢日志抓现场加 profile 定位第 17 篇
MySQL 与 ES 对不上跑对账任务查同步链路水位第 15 篇

按生命周期的阅读路径

阶段要解决的问题篇目
选型与建库为什么用、世界观、分词、mapping、分片规划第 1-5、14 篇
原理打底近实时与段、查询、评分第 6-8 篇
功能搭建高亮纠错、深分页、聚合第 9-11 篇
运维扩容写入调优、集群、数据同步第 12、13、15 篇
产品化调优产品链路、查询调优、场景与陷阱第 16-19 篇

三条心法

心法一:一切问题先回到倒排。搜不到、搜不准、搜得慢,八成是词条不对或查询形态不对。倒排里有什么,决定你能查到什么;查询怎么写,决定你怎么用它。

心法二:段不可变塑造一切行为。近实时、墓碑删除、段合并、reindex——ES 的很多「怪」都源自 Lucene 段的不可变设计。理解了这一点,行为就都顺理成章,重建索引从事故变成日常。

心法三:没有校验就没有一致性。同步链路永远可能静默失败,对账任务、慢查询日志、三色灯监控,是把「应该没问题」变成「确实没问题」的唯一路径。

十条上线检查清单

序号检查项
1中文分词器装好并验证过,不是 standard 裸奔
2mapping 显式定义,dynamic 关闭或 strict
3数值时间字段不是 text,聚合字段有 keyword 子字段
4主分片数按一年数据量规划,单分片 10-50GB
5对外用别名,索引名带版本号,重建有预案
6写入带业务主键,重试幂等
7筛选条件进 filter 上下文,深分页方案定了
8同步链路有对账任务,漂移能被发现
9慢查询日志打开,P99 与零结果率在监控里
10master-eligible 为奇数,副本数小于节点数

尾声

至此,「503 咖啡馆」的技术栈已经点亮了三大件:Redis 缓存实战 16 篇管快、MySQL 实战 22 篇管存、消息队列实战 20 篇管传,加上这 20 篇 Elasticsearch 管搜——78 篇,四个战场,一套后端攻坚地图。老王的商城能扛住下一个大促,你现在也有底气说:这套系统,我看得懂也守得住。

下一个系列已经在路上:分布式 ID——分库分表之后,订单号谁来发? Snowflake 的时钟回拨怎么办?欢迎届时来 503 咖啡馆继续围观。老王在这里等你。

503

10 年全栈工程师 · 503咖啡馆主理人

#Elasticsearch#收官#复盘#作战地图#检查清单

评论 (0)

相关推荐

连载中 12/20

排查四件套:jstack、jmap、jstat、jcmd 的实战分工

jstack 看线程在干什么,jmap 看堆里装了什么,jstat 看运行时在变什么,jcmd 是统一入口。四把刀各管一段,配合着用没有查不动的现场。

#jstack#jmap#jstat#jcmd#排查工具
2026-09-16 · 4 阅读 · 0 评论 · 0 赞
连载中 11/20

GC 日志:把回收过程翻译成人话

一行 GC 日志里塞着七种信息:谁触发的、收了哪、停了多久、活了哪些。加上 -Xlog 配置,再加上日志分析工具,GC 不再是只能盯监控曲线的黑盒。

#GC日志#Xlog#日志分析#GC监控#Full GC排查
2026-09-16 · 13 阅读 · 0 评论 · 0 赞
连载中 10/20

ZGC:亚毫秒停顿是怎么炼成的

百 G 大堆停顿不到一毫秒,靠的是把搬家全部挪到并发阶段——着色指针让引用自带状态,读屏障让搬运中的对象依然可访问。代价是吞吐与内存,收益是停顿与堆大小解耦。

#ZGC#着色指针#读屏障#亚毫秒停顿#分代ZGC
2026-09-15 · 8 阅读 · 0 评论 · 0 赞