参考

mapping

映射

映射是定义文档及其包含的字段的存储和索引方式的过程。
每个文档都是字段的集合,每个字段都有自己的数据类型。映射数据时,将创建一个映射定义,其中包含与文档相关的字段列表。映射定义还包括元数据字段(如字段),这些字段自定义如何处理文档的关联元数据。source
使用
动态映射显式映射_来定义数据。每种方法都根据您在数据旅程中所处的位置提供不同的优势。例如,将不想使用默认值的字段显式映射,或者更好地控制创建哪些字段。然后,您可以允许弹性搜索动态添加其他字段。

动态映射

动态映射允许您在刚开始时试验和浏览数据。弹性搜索只需为文档编制索引即可自动添加新字段。可以将字段添加到顶级映射以及内部对象嵌套字段。
使用动态模板定义根据匹配条件应用于动态添加的字段的自定义映射。

显式映射

显式映射允许您精确选择如何定义映射定义,例如:

  • 哪些字符串字段应被视为全文字段。
  • 哪些字段包含数字、日期或地理位置。
  • 日期值的格式
  • 用于控制动态添加字段的映射的自定义规则。

使用运行时字段进行架构更改,而无需重新编制索引。可以将运行时字段与索引字段结合使用,以平衡资源使用情况和性能。您的索引将较小,但搜索性能较慢。

防止映射爆炸的设置

在索引中定义太多字段可能会导致映射爆炸,从而导致内存不足错误和难以恢复的情况。
考虑这样一种情况:插入的每个新文档都会引入新字段,例如动态映射。每个新字段都会添加到索引映射中,随着映射的增长,这可能会成为一个问题。
使用映射限制设置可以限制字段映射(手动或动态创建)的数量,并防止文档导致映射爆炸。