首页 > 代码库 > ElasticSearch 基本概念
ElasticSearch 基本概念
Elasticsearch是一个接近实时的搜索平台,就是说从索引一个文档直到这个文档能够被搜索到有一个轻微的延迟,通常是一秒钟
- 集群
一个集群通常有一个或多个elasticsearch节点组成,给这些节点指定相同的集群名称,从而形成了一个集群。
- 节点
节点是集群的一部分,参与集群的索引和搜索功能,每个节点也拥有自己的节点名称,一个节点可以通过配置集群名称的方式来加入一个指定的集群
- 索引
一个索引通常包含很多文档类型,索引的名字必须是完全小写的字母,可以把索引当做关系型数据库里的数据库的概念
在一个集群里可以定义多个索引。 - 文档类型
文档类型可以比作关系型数据库的表,在单个索引下面,你可以定义多种文档类型。
- 文档
文档可以比作关系型数据库里的一条记录,一张表包含多条记录和一种文档类型下面包含多个文档是相似的概念。只不过这里的文档以Json文档的格式保存
- 分片
在ElasticSearch中,单个索引可以存储超过单个节点硬盘容量的大量数据,如何实现的呢,ElasticSearch的办法就是把索引切分成多份,每一份就是一个分片,
每一个分片就是一个功能完整且独立的Lucene索引,可以被放置到集群下面的任一个节点上, - 复制品(Replication)
ElasticSearch允许你给你的主分片分配一个或多个分片拷贝,主要作用是两点:
1,在分片/节点失败的情况下,提供了高可用性,基于这一点考虑,不要把主分片和复制分片放在同一个节点上
2,扩展你的搜索量/吞吐量,因为搜索可以在所有的复制上并行运行
每个索引下面主分片和复制分片的数量可以在创建索引的时候指定,一旦索引被创建以后,你可以在任何时候调整复制分片的数量,
但是你事后不能改变主分片的数量,
默认情况下,Elasticsearch中的每个索引被分片5个主分片和1个复制,这意味着,如果你的集群中至少有两个节点,
你的索引将会有5个主分片和另外5个复制分片(1个完全拷贝),这样的话每个索引总共就有10个分片
ElasticSearch 基本概念