🌱

243

一杯咖啡的时间,聊聊技术与成长

连载中 15/20

数据同步:MySQL 到 ES 的四条路

同步双写怕失败、定时扫表嫌延迟、binlog 订阅要运维——MySQL 到 ES 的四条路各有各的价。按延迟容忍度和团队能力选型,用业务主键 upsert 保证幂等,全量加增量的组合拳才是常态。

#Elasticsearch#数据同步#Canal#binlog#双写
2026-08-17 · 2293 阅读 · 0 评论 · 0 赞
连载中 14/20

分片规划:建索引时定死的那道数学题

随手 5 个分片,一年后被一堆小分片吃光内存;随手 1 个分片,数据涨了想拆拆不动。单分片 10 到 50GB 黄金区间、未来一年的扩容预留、rollover 滚动索引——分片数在建索引那一刻定生死。

#Elasticsearch#分片规划#rollover#ILM#容量规划
2026-08-17 · 1481 阅读 · 0 评论 · 0 赞
连载中 13/20

集群:节点角色、主选举与脑裂防线

一台节点重启,集群差点散伙?节点分角色:master 管家、data 干活、协调节点接待;主选举靠多数派投票,奇数节点是底线,脑裂被 quorum 设计摁死。三色灯背后的集群自检逻辑一次说清。

#Elasticsearch#集群#主选举#脑裂#节点角色
2026-08-16 · 1241 阅读 · 0 评论 · 0 赞
连载中 12/20

写入调优:让导入快五倍的三件套

500 万条商品同步跑了四小时还腰斩不了。bulk 摊薄开销、导入期副本归零、refresh 暂停——写入三角一调整,五倍提速不是玄学;translog async 与业务 id 的取舍,调优清单一次列全。

#Elasticsearch#写入调优#bulk#副本#refresh
2026-08-16 · 1763 阅读 · 0 评论 · 0 赞
连载中 11/20

聚合:把搜索页变成数据分析页

运营要报表:各品牌商品数、价格段分布、销量趋势。terms 分桶、avg 嵌套指标、range 切区间、date_histogram 看趋势——聚合走 doc values 正排,查询归查询,统计归统计,别拿 text 做聚合。

#Elasticsearch#聚合#terms#range#date_histogram
2026-08-15 · 1040 阅读 · 0 评论 · 0 赞
连载中 10/20

深分页:翻到第 100 页的代价

from 加 size 翻到一万条直接报错,这不是 bug 是保护。分布式归并让深翻页成本随页码线性放大——search_after 用游标续页、scroll 拍快照导数、PIT 保证视图一致,三把钥匙开三把锁。

#Elasticsearch#深分页#search_after#scroll#PIT
2026-08-15 · 2002 阅读 · 0 评论 · 0 赞
连载中 9/20

进阶查询:高亮、纠错与多字段搜索

搜索页体验三件套:关键词不高亮像白搜、打错一个字零结果很劝退、只搜标题漏掉详情。highlight 管高亮、multi_match 管多字段加权、suggest 管纠错补全——把 did you mean 做成产品能力的完整路子。

#Elasticsearch#高亮#multi_match#suggest#纠错
2026-08-14 · 2219 阅读 · 0 评论 · 0 赞
连载中 8/20

评分:_score 到底怎么算出来的

月销一万的「燕麦拿铁」排在月销三百的「燕麦酥」后面,运营怒了。拆开 BM25 三个因素看懂 _score,用 explain 亲眼看打分过程,再用 function_score 把销量加权进排序——相关性引擎让位给业务规则。

#Elasticsearch#评分#BM25#function_score#排序
2026-08-14 · 1010 阅读 · 0 评论 · 0 赞
连载中 7/20

查询入门:match、term、filter 与 bool

搜索词该分词吗?状态筛选为什么不该算分?四个动词分工表:match 管全文、term 管精确、match_phrase 管短语、bool 管组合,query 与 filter 两种上下文算不算分是分水岭。对 text 用 term 是新手第一坑。

#Elasticsearch#match#term#filter#bool
2026-08-13 · 1040 阅读 · 0 评论 · 0 赞