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入门到实战教程》点击查看

posted @ 2023-10-29 19:34  烨熠  阅读(108)  评论(0编辑  收藏  举报