映射编辑

映射是定义文档及其包含的字段如何存储和索引的过程。

每个文档都是字段的集合,每个字段都有自己的数据类型。在映射数据时,您会创建一个映射定义,其中包含与文档相关的字段列表。映射定义还包括元数据字段,例如_source字段,它自定义了文档关联的元数据的处理方式。

使用动态映射显式映射来定义您的数据。每种方法根据您在数据旅程中的位置提供不同的优势。例如,在您不想使用默认值或需要对创建的字段进行更多控制的情况下,可以显式映射字段。然后,您可以允许 Elasticsearch 动态添加其他字段。

在 7.0.0 之前,映射定义包含类型名称。Elasticsearch 7.0.0 及更高版本不再接受默认映射。请参阅移除映射类型

动态映射编辑

动态映射 允许您在刚开始使用时尝试和探索数据。Elasticsearch 会自动添加新字段,只需索引文档即可。您可以将字段添加到顶级映射,以及到内部objectnested字段。

使用动态模板来定义自定义映射,这些映射会根据匹配条件应用于动态添加的字段。

显式映射编辑

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

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

使用运行时字段在不重新索引的情况下进行模式更改。您可以将运行时字段与索引字段结合使用,以平衡资源使用和性能。您的索引将更小,但搜索性能会更慢。

防止映射爆炸的设置编辑

在索引中定义太多字段会导致映射爆炸,这会导致内存不足错误和难以恢复的情况。

考虑这样一种情况,即插入的每个新文档都会引入新字段,例如使用动态映射。每个新字段都会添加到索引映射中,随着映射的增长,这可能会成为问题。

使用映射限制设置来限制字段映射的数量(手动或动态创建),并防止文档导致映射爆炸。