集群(Cluster)
一个或者安装多个ES节点(单个es的服务)的服务组织在一起,就是集群。每个节点持有共同的数据,提供搜索服务。
一个集群都有一个 name 这个name是这个集群的唯一标识符, 该名字 成为 cluster-name 默认的集群名称是 elasticsearch 具有相同名称的节点才会组成一个集群
可以在config/elasticsearch.yml文件中配置集群的名称
集群中 节点的状态: ,
,
-
: 节点运行状态为健康状态,所有的主分片,副分片都可以正常工作。
-
:表示节点的运行状态为警告状态,所有的主分片目前都可以直接运行,但是至少有一个副本分片不能正常工作。
-
:表示 集群无法正常工作。
cluster.name: small-howe
节点(Node)
集群中的每一个服务都是一个节点,节点中存储的数据 同时参与了集群的索引以及搜索功能。一个节点想要加入集群,只需要配置一下节点的名称即可。默认情况下我们启动多个节点,多个节点还能够互相发现彼此,默认自动情况下租场一个集群,这是es默认提供的,但是这种方式不可靠。有可能发生脑裂现象,所以在实际开发中建以手动配置集群信息。
索引(Index)
名词
具有相似特征文档的集合
动词
索引数据以及对数据进行索引操作
类型(Type)
类型是索引的一个分类 或者 分区。 在一个es6之前 一个索引可以有多个类型,从es7中开始 一个索引中只能有一个类型。 在es6.x中 依然兼容 支持 单个index 多个type 但是不建议这样使用
文档(Document)
一个可以被索引的单元数据,例如:一个新的用户的文档,一个产品的文档,文档都是JSON格式的
分片(Shards)
索引都是存储在节点上的,但是仅限于节点的空间的大小以及数据的处理能力,单个接单的处理效果不是很好,此时我们可以对索引进行分片处理, 当我们创建索引需要指定分片的数量,每个分片的本身也是一个功能,完善并且独立的索引。
默认情况下 一个索引会创建 5个分片,并且为每一个分片创建一个副本
副本(Replicas)
副本也就是备份,是对主分片的一个备份。
Settings
集群中对索引的定义信息,例如索引的分片数,副本数量等。
Mapping
Mapping 保存了定义索引的字段的存储类型,分词方式,是否存储等信息
Analyzer
字段分词方式的定义
关系型数据库
ElasticSearch
关系型数据库 | ElasticSearch |
---|---|
数据库 | 索引 |
表 | 类型 |
行 | 文档 |
列 | 字段 |
表结构 | 映射 |
SQL | DSL(Domain Specific Language) |
select * from | Get http:// |
update *** set | Put http:// |
Delete *** | Delete http:// |
索引 | 全文索引 |