如何检测Elasticsearch索引是否已开启dynamic field动态字段功能
结论
从你返回的索引mapping结果来看,该索引没有显式配置dynamic(动态字段控制)参数,此时默认使用Elasticsearch的默认规则,即动态字段功能处于开启状态。
补充说明
- Elasticsearch的
dynamic参数控制动态字段的处理逻辑,共有三个可选值:true:系统默认值,写入文档时如果遇到未在mapping中预先定义的字段,会自动将该字段加入mapping,同时根据字段值自动匹配存储类型false:遇到未定义字段时会自动忽略,字段不会存入mapping,后续也无法通过该字段查询数据strict:严格模式,写入文档时只要遇到未定义的字段就会直接报错,拒绝写入请求
- 如果你需要明确查询该参数的实际配置,可以执行以下命令查询索引全量配置:
GET /my_index1/_settings - 如果需要手动调整动态字段规则,可以执行以下命令修改mapping(以设置为严格模式为例):
注意:该修改只会对修改完成后新写入的字段生效,已经自动生成的存量动态字段不会受影响。PUT /my_index1/_mapping { "dynamic": "strict" }
内容的提问来源于stack exchange,提问作者Vin Qin
相关产品推荐
相关产品推荐

