映射是定义如何存储和索引一个文件及其包含的字段的过程。
每个文档都是一个字段的集合,每个字段都有自己的数据类型。当映射你的数据时,你创建一个映射定义,其中包含一个与文档相关的字段列表。映射定义还包括元数据字段,比如_source字段,它可以自定义如何处理一个文档的相关元数据。
使用动态映射和显式映射来定义你的数据。每种方法都根据你在数据旅程中的位置提供不同的好处。例如,在你不想使用默认值的地方明确映射字段,或者对创建的字段获得更大的控制。然后你可以让Elasticsearch动态地添加其他字段。
在7.0.0之前,映射定义包括一个类型名称。Elasticsearch 7.0.0及以后版本不再接受默认的映射。参见移除映射类型。
实验映射选项
在搜索请求中定义运行时字段,以实验不同的映射选项,还可以在搜索请求中通过覆盖映射中的值来修复你的索引映射值中的错误。
动态映射
动态映射允许你在刚开始的时候实验和探索数据。Elasticsearch会自动添加新的字段,只需对文档进行索引。你可以将字段添加到顶层映射,以及内部对象和嵌套字段。
使用动态模板来定义自定义映射,根据匹配条件应用于动态添加的字段。
显式映射
显式映射允许你精确选择如何定义映射定义,例如。
哪些字符串字段应被视为全文字段。
哪些字段包含数字、日期或地理位置。
日期值的格式。
自定义规则来控制动态添加字段的映射。
使用运行时字段来进行模式更改,而不需要重新索引。你可以结合使用运行时字段和索引字段来平衡资源使用和性能。你的索引会更小,但搜索性能会更慢。
防止映射爆炸的设置
在一个索引中定义太多的字段会导致映射爆炸,这可能导致内存不足的错误和难以恢复的情况。
考虑一种情况,每一个新插入的文档都会引入新的字段,比如说动态映射。每一个新的字段都被添加到索引映射中,随着映射的增长,这可能成为一个问题。
使用映射限制设置来限制字段映射的数量(手动或动态创建),防止文档造成映射爆炸。 使用www.DeepL.com/Translator翻译(免费版)
标签:定义,映射,Mapping,索引,字段,文档,动态,ES From: https://www.cnblogs.com/ben-zhou/p/16759872.html