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 布尔类型
类型 | 描述 |
---|---|
boolean | true、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_range | ip的范围 |
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"
}
————————————————
版权声明:本文为CSDN博主「一只慵懒的猫z」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/peng_2297731313/article/details/122674334