在 Mapping 里面,将 dynamic 参数设置成 strict 可以拒绝索引包含未知字段的文档。 此条 Tips 由 medcl 贡献。

es索引更新时通过mapping限制指定字段更新

Elasticsearch | 作者 Fisher | 发布于2018年12月11日 | 阅读数:5640

比如mapping里指定有value1,value2,value3三个字段
但是更新时会有value2和value4 的值写入文档中
通过mapping中能否限制 value4 值的写入文档?
已邀请:

medcl - 今晚打老虎。

赞同来自: rochy zz_hello Fisher

Elasticsearch 默认是 Dynamic Mapping,新字段会自动猜测数据类型,并自动 merge 到之前的 Mapping,你可以在 Mapping 里面可以配置字段是否支持动态加入,设置参数dynamic即可。
true,默认,表示支持动态加入新字段;false,表示忽略该字段的后续索引等操作,但是索引还是成功的;strict支持不支持未知字段,直接抛错。
 
文档:https://www.elastic.co/guide/e ... .html

Fisher - 鱼仔

赞同来自:

有没有大佬遇见过这种场景  可否赐教

要回复问题请先登录注册