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"
}

 
————————————————
版权声明:本文为CSDN博主「一只慵懒的猫z」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/peng_2297731313/article/details/122674334