从ES6.x开始,官方开始废弃Type了
ElasticSearch | 索引Index | 文档Document | 字段Field | 字段定义Mapping |
---|---|---|---|---|
数据库 | 表 | 记录 | 列字段 | 表结构定义Schema |
索引Index
索引是文档(Document)的容器,是一类文档的集合。
索引(名词):
- 类比传统的关系型数据库来说,索引相当于SQL中的一个数据库(Database)
- 索引由其名称(必须为小写字符)进行标识
索引(动词):
- 保存一个文档到索引(名词)的过程
- 这非常类似于SQL语句中的INSERT关键词。如果该文档已经存在时就相当于数据库的UPDATE.
索引(倒排索引)
- 关系型数据库通过增加一个B+树索引到指定的列上,以便提升检索速度
- 索引ElasticSearch使用了一个叫做倒排索引的结构达到相同的目的
类型Type
- 从 6.0.0开始单个索引只能有一个类型,7.0.0以后将不建议使用,8.0.0以后完全不支持
- 索引和文档中间还有个类型的概念,每个索引下可以建立多个类型,文档存储时需要指定index和type
文档Document
Document Index 里面单条的记录成为Document(文档)。等同于关系型数据库表中的行、
字段Field
字段定义Mapping
- 从7.x开始,一个Mapping只属于一个索引的type 默认为:_doc
- ES字段类型主要有:核心类型、复杂类型(对象类型[object]和嵌套类型[nested])、地理类型以及特殊类型
核心类型
属性的名字 | 说明 |
---|---|
text(字符串) | 用于全文索引,该类型的字段将通过分词器进行分词,最终用于构建索引(不能用于排序) |
keyword(字符串) | 不分词 |
long | 64位整数 |
integer | 32位整数 |
short | 16位整数 |
byte | 8位整数 |
double | 64位浮点数 |
float | 32位浮点数 |
half_float | 16位浮点数 |
boolean | true,false |
date | 日期 |
binary | 二进制文件 |
网友评论