首页/数据/NoSQL 速查/dynamic mapping 动态映射策略
Elasticsearch89 条

dynamic mapping 动态映射策略

dynamic 控制未知字段如何处理:true 自动推断并加入映射,false 不索引但保留在 _source,strict 直接拒绝写入;生产索引建议显式定义映射。

NoSQL 速查数据更新于 2026-10-12
true默认值:按首次出现的值推断类型(字符串会建 text + keyword 子字段)
false未知字段写入成功但不建索引,无法检索
strict未知字段直接报错 strict_dynamic_mapping_exception

示例

示例
PUT /events-strict
{
  "mappings": {
    "dynamic": "strict",
    "properties": {
      "event": { "type": "keyword" }
    }
  }
}
字符串自动映射会同时生成 text 与 keyword 子字段,keyword 子字段默认 ignore_above 256。

易错点

  • 依赖自动映射时,一个拼错的字段名会静默产生新字段,之后统计口径混乱
  • dynamic 设为 false 后新字段不报错,排查查询无结果时先看 GET _mapping 是否真的有该字段

数据来源与参考

  • Elasticsearch Guide: Dynamic field mapping
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌