es mapping 设置

动态创建 dynamic

默认情况下动态创建(By default, fields can be added dynamically to a document),该设置有3个值可选

  • true 默认
  • false 新添加的字段不会自动生成字段类型,但依然会添加到文档中,返回 _source中也会出现。
  • strict 严格模式,非指明的 mapping 无法添加,会产生异常

示例:添加 nickname 的文档

{
  "error": {
    "root_cause": [
      {
        "type": "strict_dynamic_mapping_exception",
        "reason": "mapping set to strict, dynamic introduction of [age] within [article] is not allowed"
      }
    ],
    "type": "strict_dynamic_mapping_exception",
    "reason": "mapping set to strict, dynamic introduction of [age] within [article] is not allowed"
  },
  "status": 400
}
  • 修改方式
PUT /index/_mapping/article
{
  "dynamic":false
}

官网文档:https://www.elastic.co/guide/en/elasticsearch/reference/6.6/dynamic.html

你可能感兴趣的:(程序人生)