动态创建 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