索引映射与文档模型
1. 这是什么
索引映射决定字段如何被存储、分词和查询,文档模型则决定业务数据怎样组织到 ES 中。
这是搜索系统设计质量的关键部分。
2. 为什么重要
很多查询慢、聚合差、排序异常,本质上都和 mapping 设计不合理有关。
文档建模做得好,后续查询和分析都会更顺。
3. 核心内容
- mapping
- text 与 keyword
- date、numeric、boolean
- nested 与 object
- 文档冗余与反规范化
4. 学习重点
- 理解字段类型直接决定查询行为
- 理解搜索系统更强调读模型设计
- 理解 ES 文档建模常常不是数据库表结构直接映射
5. 常见问题
- 所有字符串字段都用 text
- 直接照搬关系型表结构
- 忽视 nested 带来的查询和成本差异
6. 练习建议
- 为商品搜索场景设计一套 mapping
- 对比 text 和 keyword 的查询差异
- 总结 object 和 nested 的使用边界
7. 自测问题
- text 和 keyword 分别适合什么场景
- 为什么 ES 文档建模常常要反规范化
- nested 为什么不能乱用