全书目录

第二十三篇:Elasticsearch 完全指南 —— 全城检索雷达宇宙

第十四章:常见误区 —— Elasticsearch 最容易踩的坑不是 API,而是心智错位

2 分钟 632 字 第 430 / 962 个阅读单元

1. 把 Elasticsearch 当成“更快的数据库”。
它能存文档,也能查数据,但它的主优势不是替代事务数据库,而是搜索与分析。

2. 以为 termmatch 差不多。
不是。match 会分析输入,偏全文检索;term 更偏精确值匹配。用错字段和查询类型,结果会很怪。

3. 在 text 字段上做精确聚合或精确过滤。
大多数时候你真正要的是对应的 keyword 字段或多字段版本。

4. 只靠动态 mapping 跑生产。
动态映射适合起步,不适合长期失控。字段类型一旦漂移,后面会越来越难收拾。

5. 以为 _score 是绝对权威分。
它是当前查询上下文里的相对排序依据,不是跨查询通用评分。

6. 把 Elasticsearch 当唯一事实源。
在许多业务系统中,它更适合作为搜索读模型,而不是唯一主账本。

7. 忽略 analyzer。
搜索体验很大程度上取决于“文本怎么被拆”。不理解 analyzer,搜索调优很难真正入门。

8. 以为写入成功就等于立刻可搜。
Elasticsearch 是近实时搜索系统。搜索可见性与 refresh 机制有关,心智上不要按强同步事务库去想。

9. 一个索引塞所有业务字段。
这会让 mapping、查询、维护、演进都越来越混乱。索引设计本身就是建模问题。

10. 以为 Elasticsearch 做聚合就等于替代所有分析仓库。
它非常适合搜索伴随分析,但不等于所有超重型 OLAP 都该交给它。