elasticsearch支持的数据类型

1.字符串类型

  • string
  • text
  • keyword

从ElasticSearch 5.x开始不再支持string,由text和keyword类型替代;当一个字段是要被全文搜索的,设置text类型,字段内容会被分析,text类型的字段不用于排序,很少用于聚合;keyword类型的字段只能通过精确值搜索到,如果字段需要进行过滤、排序、聚合,设置keyword类型。

2.整数类型

  • long
  • integer
  • short
  • byte

注:尽可能选择范围小的数据类型,字段的长度越短,索引和搜索的效率越高

3.浮点类型

  • double:64位双精度IEEE 754浮点类型
  • float:32位单精度IEEE 754浮点类型
  • half_float:16位半精度IEEE 754浮点类型
  • scaled_float : 缩放类型的的浮点数

4.逻辑类型

  • boolean

5.日期类型

  • date
    日期类型表示格式可以是以下几种:
  1. 日期格式的字符串,比如 “2018-01-13” 或 “2018-01-13 12:10:30”
  2. long类型的毫秒数( milliseconds-since-the-epoch,epoch就是指UNIX诞生的UTC时间1970年1月1日0时0分0秒)
  3. integer的秒数(seconds-since-the-epoch)

6.范围类型

  • range
    范围类型要求字段值描述的是一个数值、日期或IP地址的范围, 在添加文档时可以使用: gte、gt、lt、lte分别表示 >=、 > 、< 、<= 。

7.二进制类型

  • binary
    二进制字段是指用base64来表示索引中存储的二进制数据,可用来存储二进制形式的数据,例如图像。默认情况下,该类型的字段只存储不索引。

8.复合类型

  • 数组类型 array
  • 对象类型 object :JSON格式对象数据
  • 嵌套类型 nested
  • 地理类型 地理坐标类型 geo_point
  • 地理地图 geo_shape
  • 特殊类型 IP类型 ip
  • 范围类型 completion
  • 令牌计数类型 token_count
  • 附件类型 attachment
  • 抽取类型 percolator

9.多数据类型
有些字段可以同时兼容两种字段类型,此时:

http://localhost:9200/address/_mapping   put
{
    "properties": {
        "name": {
            "type": "text",
            "analyzer": "ik_max_word",
            "fields": {
                "keyword": {
                    "ignore_above": 256,
                    "type": "keyword"
                }
            }
        }
     }
}

上面示例中name同时拥有text和keyword类型。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

走进IT

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值