映射
编辑映射编辑
映射是定义文档及其包含的字段如何存储和索引的过程。
每个文档都是字段的集合,每个字段都有自己的数据类型。在映射数据时,您会创建一个映射定义,其中包含与文档相关的字段列表。映射定义还包括元数据字段,例如_source
字段,它自定义了文档关联的元数据的处理方式。
使用动态映射和显式映射来定义您的数据。每种方法根据您在数据旅程中的位置提供不同的优势。例如,在您不想使用默认值或需要对创建的字段进行更多控制的情况下,可以显式映射字段。然后,您可以允许 Elasticsearch 动态添加其他字段。
在 7.0.0 之前,映射定义包含类型名称。Elasticsearch 7.0.0 及更高版本不再接受默认映射。请参阅移除映射类型。
动态映射编辑
动态映射 允许您在刚开始使用时尝试和探索数据。Elasticsearch 会自动添加新字段,只需索引文档即可。您可以将字段添加到顶级映射,以及到内部object
和nested
字段。
使用动态模板来定义自定义映射,这些映射会根据匹配条件应用于动态添加的字段。
显式映射编辑
显式映射 允许您精确地选择如何定义映射定义,例如
使用运行时字段在不重新索引的情况下进行模式更改。您可以将运行时字段与索引字段结合使用,以平衡资源使用和性能。您的索引将更小,但搜索性能会更慢。
防止映射爆炸的设置编辑
在索引中定义太多字段会导致映射爆炸,这会导致内存不足错误和难以恢复的情况。
考虑这样一种情况,即插入的每个新文档都会引入新字段,例如使用动态映射。每个新字段都会添加到索引映射中,随着映射的增长,这可能会成为问题。
使用映射限制设置来限制字段映射的数量(手动或动态创建),并防止文档导致映射爆炸。