1、基础概念

原文地址:https://www.elastic.co/guide/en/elasticsearch/reference/current/getting-started-concepts.html

elasticsearch版本:6.5

目录地址:https://blog.csdn.net/mine_1/article/details/85623429

Elasticsearch有几个核心概念。从一开始就理解这些概念将极大地帮助简化学习过程。

Near Realtime(NRT)

近实时编辑,ElasticSearch是一个近乎实时的搜索平台。这意味着从索引文档到可搜索文档都会有一段轻微的延迟(通常是一秒钟)。

Cluster

集群,集群是一个或多个节点(服务器)的集合,这些节点将您的整个数据集中在一起,并在所有节点上提供联合索引和搜索功能。集群由唯一的名称标识,默认名称为“elasticsearch”。此名称很重要,因为如果将节点加入集群,只能通过设置为其名称加入集群。

请确保不要在不同的环境中重用相同的集群名称,否则最终可能会导致节点加入错误的集群。例如,您可以使用LoggingDev、LoggingStage和LoggingProd来开发、分段和生产集群。

请注意,一个有效的良好运行的集群至少要有一个节点。此外,您还可以拥有多个独立的集群,每个集群都有自己独特的集群名称。

Node

节点,节点是作为集群一部分的单个服务器,存储数据,并参与集群的索引和搜索功能。与集群一样,节点由一个名称标识,默认情况下,该名称是在启动时分配给节点的随机通用唯一标识符(UUID)。如果不希望使用默认值,则可以定义所需的任何节点名称。此名称对于管理目的很重要,因为您希望确定网络中的哪些服务器对应于ElasticSearch集群中的哪些节点。

可以通过集群名称将节点配置为加入特定集群。默认情况下,每个节点都被设置为加入一个名为ElasticSearch的集群,这意味着,如果您在网络上启动了多个节点,并且假设它们可以彼此发现,那么它们都将自动形成并加入一个名为ElasticSearch的集群。

在单个集群中,您可以拥有任意多个节点。此外,如果您的网络上当前没有其他ElasticSearch节点,则默认情况下,启动单个节点将形成一个名为ElasticSearch的新单节点集群。

Index

索引,索引是具有某种相似特性的文档集合。例如,您可以拥有客户数据索引、产品目录的另一个索引以及订单数据的另一个索引。索引由一个名称(必须全部是小写)标识,当对其中的文档执行索引、搜索、更新和删除操作时,该名称用于引用索引。

在单个集群中,您可以定义多个索引。

Type

类型,一种类型曾经是索引的逻辑类别/分区,允许您在同一索引中存储不同类型的文档,例如一种类型用于用户,另一种类型用于博客文章。在一个索引中不能再创建多个类型,在以后的版本中将删除类型的整个概念。有关详细信息,请参见删除映射类型。

Document

文档,文档是可以被索引的基本信息单元。例如,您可以为单个客户创建一个文档,为单个产品创建另一个文档,为单个订单创建另一个文档。本文档以JSON(javascript对象表示法)表示,JSON是一种普遍存在的Internet数据交换格式。

在索引/类型中,您可以存储任意多的文档。请注意,尽管文档实际上驻留在索引中,但文档实际上必须被索引/分配给索引中的类型。

Shard & Replicas

分片&复本,

索引可能会存储大量数据,这些数据可能会超出单个节点的硬件限制。例如,占用1TB磁盘空间的10亿个文档的单个索引可能不适合单个节点的磁盘,或者速度太慢,无法单独满足单个节点的搜索请求。

为了解决这个问题,ElasticSearch提供了将索引细分为多个片段(称为分片)的能力。创建索引时,只需定义所需的分片数量。每个shard本身就是一个完全功能性和独立的“索引”,可以托管在集群中的任何节点上。

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

  • 它允许您水平拆分/缩放内容量
  • 它允许您跨分片(可能在多个节点上)分布和并行操作,从而提高性能/吞吐量

如何分配分片以及如何将其文档聚合回搜索请求的机制完全由ElasticSearch管理,并且对作为用户的您是透明的。

在随时可能发生故障的网络/云环境中,非常有用,强烈建议在分片/节点以某种方式脱机或因任何原因消失时使用故障转移机制。为此,ElasticSearch允许您将索引碎片的一个或多个副本制作成所谓的复本分片,简称为复本。

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

它在分片/节点发生故障时提供了高可用性。因此,需要注意的是,复本分片永远不会分配到复制它的原始/主碎片所在的节点上。

它允许您扩展搜索量/吞吐量,因为可以在所有复本上并行执行搜索。

总而言之,每个索引可以分割成多个分片。索引也可以零次(意味着没有副本)或多次复制。复制后,每个索引都将有主分片(从中复制的原始分片)和副本分片(主分片的副本)。

可以在创建索引时为每个索引定义分片和副本的数量。创建索引后,您还可以随时动态更改副本的数量。您可以使用收缩和拆分API更改现有索引的分片数量,但是这不是一项简单的任务,并且预先计划正确数量的分片是最佳方法。

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值