Java笔记 ·

Elasticsearch6基本概念

近实时(Near Realtime, NRT)

Elasticsearch是一个近乎实时的搜索平台。这意味着从索引文档到可搜索文档的时间有一点延迟(通常是一秒)。

集群(Cluster )

集群是一个或多个节点(服务器)的集合,它们共同保存您的整个数据,并提供跨所有节点的联合索引和搜索功能。群集由唯一名称标识,默认情况下为“elasticsearch”。此名称很重要,因为如果节点设置为按名称加入群集,则该节点只能是群集的一部分。

确保不要在不同的环境中重用相同的群集名称,否则最终会导致节点加入错误的群集。

请注意,如果群集中只有一个节点,那么它是完全正常的。此外,您还可以拥有多个独立的集群,每个集群都有自己唯一的集群名称。

可通过cluster.name字段配置。

节点(Node)

节点是作为群集一部分的单个服务器,存储数据并参与群集的索引和搜索功能。就像集群一样,节点由名称标识,默认情况下,该名称是在启动时分配给节点的随机通用唯一标识符(UUID)。

索引(index )

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

类型(Type)

曾经是索引的逻辑类别/分区,允许您在同一索引中存储不同类型的文档,将被弃用。

Elasticsearch 6.0.0或更高版本中创建的索引可能只包含单个映射类型。在具有多种映射类型的5.x中创建的索引将继续像以前一样在Elasticsearch 6.x中运行。映射类型将在Elasticsearch 7.0.0中完全删除。

文档(Documentedit)

文档是可以编制索引的基本信息单元。以JSON表示。尽管文档实际上驻留在索引中,但实际上必须将文档索引/分配给索引(index)中的类型。

分片与副本(Shards & Replicas)

索引可能存储大量可能超过单个节点的硬件限制的数据。为了解决这个问题,Elasticsearch提供了将索引细分为多个称为分片的功能。创建索引时,只需定义所需的分片数即可。每个分片本身都是一个功能齐全且独立的“索引”,可以托管在集群中的任何节点上。

总而言之,每个索引可以拆分为多个分片。索引也可以复制为零(表示没有副本)或更多次。复制后,每个索引都将具有主分片(从中复制的原始分片)和副本分片(主分片的副本)。

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

集群健康

GET /_cluster/health

status 字段指示着当前集群在总体上是否工作正常。它的三种颜色含义如下:

状态 简介
Green 所有的主分片和副本分片都正常运行。
Yellow 所有的主分片都正常运行,但不是所有的副本分片都正常运行。
Red 有主分片没能正常运行。

参与评论