字段数据类型概括:
Elasticsearch支持一系列不同的数据类型来定义文档字段,分为核心数据、复杂数据、地理数据、专门数据类型。
核心数据类型包括:
字符串数据类型: string
数字型数据类型: long、 Integer、 short、byte、 double、float
日期型数据类型: date
布尔型数据类型: boolean
二进制数据类型: binary
复杂数据类型包括:
数组数据类型: 不需要专门的类型来定义数组。
对象数据类型: object,单独的JSON对象。
嵌套数据类型: nested,关于JSON对象的数组。
地理数据类型包括:
地理点数据类型: geo_point,经纬点。
地理形状数据类型: geo_shape,多边形的复杂地理形状。
专门数据类型包括:
IPv4数据类型:IP协议为IPv4的地址。
完成数据类型: completion,提供自动补全的建议。
单词计数数据类型: token_count,统计字符串中的单词数量。
字符串类型:
不分词
"studymodel": {
"type": "keyword"
}分词
"name": {
"type": "text"
}使用ik分词器
"name": {
"type": "text",
"analyzer":"ik_max_word",
"search_analyzer":"ik_smart"
}组合类型,支持分词或不分词,以及ik分词
"buildcorpname": {
"type": "text",
"fields": {
"key": {
"type": "keyword"
}
},
"analyzer": "ik_max_word"
}基本日期类型
"properties": {
"date": { "type": "date" }
} 设置允许date字段存储年月日时分秒、年月日及毫秒两张种格式
"timestamp": {
"type": "date",
"format": "yyyy‐MM‐dd HH:mm:ss||yyyy‐MM‐dd"
}设置允许date字段存储年月日时分秒、年月日及毫秒三种格式,允许不指定日期格式
"timestamp": {
"type": "date",
"format": "yyyy‐MM‐dd HH:mm:ss||yyyy‐MM‐dd||epoch_millis"
}long类型,最小的整数
"price": {
"type": "long"
}integer
"price": {
"type": "integer"
}float
"price": {
"type": "float"
}浮点数,对于浮点数尽量用比例因子,比如一个价格字段,单位为元,我们将比例因子设置为100这在ES中会按 分 存
储。
"price": {
"type": "scaled_float",
"scaling_factor": 100
}double
"price": {
"type": "double"
}bool类型
boolean
"is_num": {
"type": "boolean"
}nested关联映射
"project": {
"type": "nested",
"properties": {
"localdate":{
"type": "date"
}
}
}无论从事什么行业,只要做好两件事就够了,一个是你的专业、一个是你的人品,专业决定了你的存在,人品决定了你的人脉,剩下的就是坚持,用善良專業和真诚赢取更多的信任。