跳到主要内容

十九、Elasticsearch 教程: 映射 ( Mapping )

索引中每个文档都有一个类型( type ) 。 每个类型拥有自己的映射 ( mapping )或者模式定义 (schema definition)

一个映射定义了字段类型,每个字段的数据类型,以及字段被 Elasticsearh 处理的方式。映射还用于设置关联到类型上的元数据

所以,从某些方面说,映射是存储在索引中的文档的大纲,或者说相当于数据库中的某个表的表结构

范例

例如下面这个请求,用于定义银行账户详情

POST http://localhost:9200/bankaccountdetails?pretty

请求正文

{
"mappings":{
"report":{
"properties":{
"name":{ "type":"text"},
"date":{ "type":"date"},
"balance":{ "type":"double"},
"liability":{ "type":"double"}
}
}

返回响应如下

{
"acknowledged" : true,
"shards_acknowledged" : true,
"index" : "bankaccountdetails"

字段类型

Elasticsearch 为文档中的字段提供了大量的数据类型支持。以下列出的数据类型都可以用来定义文档的字段类型

1、 基础数据类型;

Elasticsearch 几乎支持所有系统的基本数据类型

1、 整型(integer);
2、 长整型(longint);
3、 双精度型(double);
4、 短整型(shortint);
5、 字节型(byte);
6、 浮点型(float);
7、 字符串型(string);
8、 日期类型(date);
9、 布尔类型(boolean);
10、 二进制类型(binary);
2、 复合数据类型;

复合数据类型一般由一种或多种数据类型组合而成,比如数据、JSON 对象和嵌套数据类型。