Elasticsearch(ES)数据类型

一、ES文档字段类型

1.1 Meta-Field (元字段)

元字段可以理解为每个文档都会有的字段。不是用户定义的。以下划线"_" 开头。
1、有些字段只是为了存储,如_source。它是原始JSON文档(也就是源数据的内容)他们会出现在文档检索的结果中, 却不能通过这个字段做检索。
2、有些字段是标识,如_id,_index等。
下面是关于元字段的介绍:

序号名称说明
1_id文档的唯一标识id
2_index文档所属索引
3_type文档所属类型
4_uid在索引内唯一,由映射类型和id组成,在6.0版本已废弃
5_source源JSON文档
6_size_source的字节数
7_all所有字段一起创建的索引,在6.0版本已废弃
8_field_names为文档非空字段名创建索引
9_ignored为忽略字段创建索引
10_routing文档到具体分片的路由
11_meta应用相关元信息

1.2 Field(字段)

字段也就是属性,它是自定义的,可以指定类型。默认情况下,每一个字段都是被索引的(使用倒排)

1.2.1 字符串类型
类型描述
string从ElasticSearch 5.x开始已废弃
text用于全文索引,该类型的字段会被分词
keyword不分词,只能通过精确值搜索,如果字段需要进行过滤、排序、聚合,设置keyword类型。
1.2.2 数值类型
类型描述
整型byte、short、integer、long 尽可能选择范围小的数据类型,占用空间小,索引效率高
浮点型double、float、half_float、scaled_float
1.2.3 布尔类型
类型描述
booleantrue、false
1.2.4 日期类型
类型描述
date日期类型表示格式可以是这种“2018-01-13” 或 “2018-01-13 12:10:30”
1.2.5 范围类型
类型描述
integer_range整数的范围
float_range单精度的范围
long_range长整形的范围
double_range双精度的范围
date_range日期的范围
ip_rangeip的范围

gt是大于,lt是小于,e是equals等于。
插入or更新文档|字段时,值写成json对象的形式:

"age_limit" : {
 "gte" : 20,
 "lte" : 40
}
1.2.6 二进制类型

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

1.2.7 对象类型

对象类型是JSON格式
定义mapping

"user" : {
    "type":"object"
}
#插入|更新字段的值,值写成json对象的形式
"user" : {
    "name":"xiaoming",
    "age":18
}
1.2.8 数组类型

ES没有专门的数组类型,定义mapping,写成元素的类型

"array" : {
    "type":"integer"
}
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值