Skip to content

索引映射与文档模型

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 为什么不能乱用