elasticsearch6.2.4 教程 - 02 - 基本概念
非原创 iwantyou 发表于:2018-06-04 14:05:03
  阅读 :73   收藏   编辑

接近实时(NRT)

elasticsearch是一个接近实时的搜索平台,索引文档到搜索存在轻微的延迟,通常为1秒

集群(Cluster)

集群是一个或多个节点的集合,共同保存整个数据,并提供跨所有节点的联合索引和搜索功能。集群由默认名称为“elasticsearch”的唯一名称标识。此名称很重要,因为如果节点设置为通过名称加入群集,则节点只能成为群集的一部分。

节点(Node)

节点是属于集群一部分的单个服务器

索引(Index)

索引是一些具有相似特征的文档集合,索引由名称(必须全部为小写)标识,并且此名称用于在对其中的文档执行索引,搜索,更新和删除操作时引用索引。

单个群集中,可以根据需要定义多个索引

类型(Type)

在6+版本中已废弃

文档(Document)

文档是可被索引的基本单元

分片和复制(Shards&Replicas)

我们在一个索引里存储的数据,潜在的情况下可能会超过单节点硬件的存储限制。例如,单个索引有上千万个文档需要占用1TB的硬盘存储空间,但是一台机器的硬盘可能没有这么大,或者是即便有这么大,但是单个节点在提供搜索服务时会响应缓慢。

为了解决这个问题,Elasticsearch提供了分片的能力,它可以将你的索引细分成多个部分。当你创建一个索引的时候,你可以简单的定义你想要的分片的数量。每个分片本身是一个全功能的完全独立的“索引”,它可以部署在集群中的任何节点上。

分片很重要,主要有两个原因:

  • 允许你水平分割/扩展你的内容容量

  • 允许你在分片(位于多个节点上)之上进行分布式的、并行的操作,进而提高性能/吞吐量 

至于一个分片怎样分布,它的文档怎样聚合回搜索请求,是完全由Elasticsearch管理的,对于作为用户的你来说,这些都是透明的。

在一个网络/云的环境里,故障随时都可能发生。在某个分片/节点因为某些原因处于离线状态或者消失的情况下,故障转移机制是非常有用且强烈推荐的。为此, Elasticsearch允许你创建分片的一份或多份拷贝,这些拷贝叫做复制分片,或者直接叫复制。

复制很重要,主要有两个原因:

  • 高可用。它提供了高可用来以防分片或节点宕机。为此,一个非常重要的注意点是绝对不要将一个分片的拷贝放在跟这个分片相同的机器上。

  • 高并发。它允许你的分片可以提供超出自身吞吐量的搜索服务,搜索行为可以在分片所有的拷贝中并行执行。

总而言之,每个索引可以分成多个分片。索引也可以被复制为零(意味着没有副本)或更多次。一旦复制,每个索引将具有主分片(从中复制的原始分片)和副本分片(主分片的副本)。在创建索引时,可以为每个索引定义分片和副本的数量。在创建索引之后,您可以随时更改动态副本的数量,但您无法在事后更改碎片的数量。

默认情况下,Elasticsearch中的每个索引都分配了5个主分片和1个副本,这意味着如果您的集群中至少有两个节点,则索引将包含5个主分片和另外5个副本分片(1个完整副本),总共每个索引10个碎片。

Reference

https://www.elastic.co/guide/en/elasticsearch/reference/current/_basic_concepts.html

https://blog.csdn.net/qq_34021712/article/details/79342668

目录:elasticsearch6.2.4 教程索引目录