Elasticsearch中的映射(Mapping)是什么?
在 Elasticsearch(ES)中,映射(Mapping)是定义索引中文档结构和字段类型的元数据,类似于关系型数据库中的“表结构定义”。但与传统数据库不同,ES 的映射更灵活,支持动态映射(Dynamic Mapping)和显式映射(Explicit Mapping),允许在运行时调整字段配置。映射的核心作用是告诉 ES 如何存储、索引和查询数据。
一、映射的核心概念
- 字段类型(Field Types)
ES 支持多种字段类型,包括:
- 简单类型:
- text :用于全文搜索的文本,会被分词器处理。
- keyword :用于精确匹配的文本(如标签、ID),不分词。
- integer / long / float / double :数值类型。
- date :日期类型。
- boolean :布尔值。
- 复杂类型:
- object :嵌套对象(JSON 对象)。
- nested :嵌套数组,支持独立查询内部元素。
- 特殊类型:
- geo_point :地理