ElasticSearch基础数据类型
ElasticSearch入门到实战教程:点击查看
1. keyword类型
keyword
类型是 不进行分词
的字符串类型,可以理解数据库的字符串类型,不进行分词
含义指的是:不会对keyword字段内容进行分词,直接构建 倒排索引
,keyword类型应用场景比较多,一般用于对文档的过滤、排序和聚合等。
添加 keyword
映射字段
POST indexname/_mapping
{
"properties":{
"remarks":{
"type":"keyword"
}
}
}
2. text类型
text
类型是可进行切分的字符串类型。这里的 可切分
指的是:在索引时,可按照相应的切词算法对文本内容进行切分,然后构建倒排索引;
添加 text
映射字段
POST indexname/_mapping
{
"properties":{
"summary":{
"type":"text"
}
}
}
3. 数值类型
ES支持的数值类型
- long -- 带符号的64位整数,最小值-263,最大值263-1
- integer -- 带符号的32位整数,最小值-231,最大值231-1
- short -- 带符号的16位整数,最小值-32768,最大值32767
- byte -- 带符号的8位整数,最小值-128,最小值127
- double -- 双精度64位IEEE 754 浮点数
- float -- 单精度32位IEEE 754 浮点数
- half_float -- 半精度16位IEEE 754 浮点数
- scaled_float -- 带有缩放因子的缩放类型浮点数
添加 integer
映射字段
POST indexname/_mapping
{
"properties":{
"age":{
"type":"integer"
}
}
}
为节约存储空间并提升搜索和索引的效率,因为 内存很贵
,在实际应用中,在满足需求的情况下应尽可能选择范围小的数据类型。
4. 布尔类型
boolean
类型用于业务中的二值表示,例如商品是否上架、数据是否失效。
添加 boolean
映射字段
POST indexname/_mapping
{
"properties":{
"isAdmin":{
"type":"boolean"
}
}
}
5. 日期类型
date
类型用于存储日期
一般使用如下形式表示日期类型数据:
- 格式化的日期字符串
- 毫秒级的长整型,表示从1970年1月1日0点到现在的毫秒数
- 秒级别的整型,表示从1970年1月1日0点到现在的秒数。
- 日期类型的默认格式为strict_date_time||epoch_millis.其中,strict_date_optional_time的含义是严格的时间类型,支持yyyy-MM-dd、yyyyMMdd、yyyyMMddHHmmss、yyyy-MM-ddTHH:mm:ss、yyyy-MM-ddTHH:mm:ss.SSS和yyyy-MM-ddTHH:mm:ss.SSSZ等格式,epoch_millis的含义是从1970年1月1日0点到现在的毫秒数。
添加 date
映射字段
POST indexname/_mapping
{
"properties":{
"createTime":{
"type":"date"
}
}
}
更多资料请看《ElasticSearch入门到实战教程》:点击查看