目录
1、Es基本定义
1.1 文档(Document)
1.2 索引(Index)
1.3 类型(Type)
在 7.0 之前,每一个索引是可以设置多个 Types 的,每个 Type 会拥有相同结构的文档,但是在 6.0 开始,Type 已经被废除,在 7.0 开始,一个索引只能创建一个 Type,也就是 _doc。每个索引里都可以有一个或多个 Type,Type 是索引中的一个逻辑数据分类,一个 Type 下的文档,都有相同的字段
为什么要取消type?
同一个Index下的不同实体(不同type意味着field往往不一样,可称为不同实体)太多,且分布稀疏不均,严重干扰了Lucene压缩文档的能力,所以在彻底抛弃type之后,ES的存储能力将会有所提高。
所以ES给type制定了消亡路线:
type在6.x中只能有一个,可自定义。
type在7.x中只能有一个,且只能是_doc。
type在8.x(未来版本)彻底取消,API会大变,以前的<INDEX>/<TYPE>/<DOC>的方式会变成<INDEX>/<DOC>
1.4 映射(Mapping)
每个索引都可以对字段做类型的定义,这个过程就是映射。映射就相当于数据库中我们去定义字段的类型。
映射包括了该类型的文档中可能出现的所有字段,并告诉Es如果索引一个文档内的多个字段。
1.5 集群(Cluster)
1.6 节点(Node)
节点其实就是一个 ES 实例,本质上是一个 Java 进程,一台机器上可以运行多个 ES 进程,但是生产环境一般建议一台机器上只运行一个 ES 实例。
每一个节点都有自己的名字,节点名称很重要(在执行运维管理操作的时候),可以通过配置文件进行配置,或者启动的时候 -E node.name=node1 指定。每一个节点在启动之后,会分配一个 UID,保存在 data 目录下。