常用术语:
文档Document
- 用户存储在es中的数据文档,es中存储的最小单元,类似于mysql表中一行的数据。
索引Index
- 由具有相同字段的文档列表组成。类似于mysql中的表table。
节点Node
- 一个ElasticSearch的运行实例,是集群构成的单元。
集群Cluster
由一个或多个节点组成,对外提供服务。
详细介绍
Document
- Json Object,由字段(field)组成,常见数据类型如下:
- 字符串:text, keyword
- 数值型:long, integer, short, byte, double, float, half_float, scaled_float
- 布尔:boolean
- 日期:date
- 二进制:binary
- 范围类型:integer_range, float_range, long_range, double_range,date_range.
- 每一个文档都有唯一的id标识
- 自行指定
- es自动生成
Document MetaData
- 元数据,用于标注文档的相关信息
- _index: 文档所在的索引名
- _type: 文档所在的类型名
- _id:文档唯一id
- _uid: 组合id,由_type和_id组成(6.x _type不再起作用,同_id一样)
- _source:文档的原始Json数据,可以从这里获取每个字段的内容
- _all:整合所有字段内容到该字段,默认禁用(针对所有字段内容进行分词,比较占用磁盘空间,不推荐使用)。
Index
- 索引中存储具有相同结构的文档(Document)
- 每个索引都有自己的
mapping
定义,用于定义字段名和类型。
- 每个索引都有自己的
mapping可以类比为mysql table schema的定义即表结构的定义。
- 一个集群可以有多个索引,比如:
- nginx日志存储的时候可以按照日期每天生成一个索引来存储。
- nginx-log-2017-01-01日志存储
- nginx-log-2017-01-02日志存储
- nginx日志存储的时候可以按照日期每天生成一个索引来存储。