elasticsearch-2. 基本概念

基本概念

Near Realtime(NRT)

Elasticsearch是一个接近于实时的搜索平台

Cluster

一个集群是多个节点(或称为服务器)的集合,它们共同持有你的所有数据,并提供联合的索引和横跨所有节点的搜索能力。一个集群被一个唯一的名字所标识(默认为“elasticsearch”)。这个名字很重要,因为如果一个节点通过它的名字加入集群的话,一个节点只能加入一个集群。

确保你在不同的环境中没有复用同一个集群名,否则你可能遇到某些节点加入到了错误的集群中的情况。

Node

一个节点是一个单独的服务器,它是集群的一部分,用来存储数据、并加入到集群的索引和搜索能力中。一个节点也被一个名字所标识(默认是一个随机的UUID),在节点启动时赋值给它。你也可以自定义名字。

节点可以通过配置集群名加入到某个集群中去。默认情况下每个节点都加入到了“elasticsearch”集群中。

单个集群中节点的数量是没有限制的。

Index

索引是具有某些相似特征的文档的集合。

Type

6.0.0中过期

Document

文档是可以被索引的基本信息单元。文档以JSON的形式表示。

Shards & Replicas

一个索引可以再分为多个分片(Shards)。当你创建索引的时候,你可以定义分片的数量。每一个分片本身都是一个全功能且独立的“索引”,可以被托管在集群中的任何一个节点上。

分片之所以重要,有两个主要原因:

  • 它允许你水平的拆分内容
  • 它允许你在多个分片中分发和并行的操作,可以提高性能和吞吐量。

分片被分布和文档被聚合回搜索请求的机制完全被Elasticsearch 所管理,并且对作为用户的你来说是透明的。

Elasticsearch允许将索引的分片复制一份或者多份,称为复制分片。

复制之所以重要,有两个主要原因:

  • 在某个分片或节点失败的情况下提供了高可用。由于这个原因,我们需要注意,复制的分片绝不要与它复制的原分片在同一个节点上。
  • 它允许你向外扩展你的搜索范围/吞吐量,因为搜索可以在所有的复制分片上并行的执行。

总结一下,每个索引都可以被分成多个分片。一个索引也可以被复制多次。一旦被复制,每个索引就会有主分片和复制分片。每个索引分片和复制的数量可以在创建索引的时候被定义。当索引被创建后,可以在任何时候动态的改变复制的数量,但是不能改变已经分好的分片的数量。

默认情况下,Elasticsearch 中的每个索引有5个主分片和一个复制,这意味着如果你的集群中有两个节点的话,你的索引将有5个主分片和另外5个复制分片,每个索引共有10个分片。

你可能感兴趣的:(elasticsearch-2. 基本概念)