ES的映射:映射就是 Mapping,它用来定义一个文档以及文档所包含的字段该如何被存储和索引。所以,它其实有点类似于关系型数据库中表的定义。其中ES中映射可以分为动态映射和静态映射,静态映射就是提前创建好对应字段文档映射关系,如果插入的类型不对会出错,而动态映射是指在插入数据的时候,会根据插入字段的类型进行自动识别,
动态映射:
在关系数据库中,需要事先创建数据库,然后在该数据库下创建数据表,并创建表字段、类型、长度、主键等,最后才能基于表插入数据。而Elasticsearch中不需要定义Mapping映射(即关系型数据库的表、字段等),在文档写入Elasticsearch时,会根据文档字段自动识别类型,这种机制称之为动态映射。
动态映射规则如下:

我们创建好的索引里面如果没有指定mapping字段映射关系,如下面所示:
在创建好的索引信息中,可以看到,mappings 为空,这个 mappings 中保存的就是映射信息。
如果我们传入一段数据,如下:
PUT blog/_doc/1
{
"title":"1111",
"date":"2020-11-11"
}
ES就会自动为我们
本文深入探讨了ElasticSearch的映射概念,包括动态映射和静态映射。动态映射在文档写入时自动识别字段类型,而静态映射则预先定义字段类型。讨论了如何通过动态映射的dynamic属性控制新字段的处理,并介绍了日期检测问题。此外,解释了text和keyword映射类型的差异,以及geo_point类型在地理位置搜索中的应用。最后,文章提到了如何修改已有映射以及各种数值和日期类型在ES中的使用。
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



