Elasticsearch 的核心概念2025年3月17日 | 阅读 3 分钟 Elasticsearch 是一个面向文档的 NoSQL 数据库,用于以文档的形式存储数据。它允许用户存储、分析和搜索大量数据。Elasticsearch 是 ELK stack 的主要产品之一,与 Logstash、Kibana 和 Beats 一起使用。但在本教程中,我们仅使用 Elasticsearch。本教程将按照 Elasticsearch 的流程进行。 让我们讨论 Elasticsearch 中使用的关键概念或重要术语,这些术语是 - 以下详细讨论了 Elasticsearch 的这些关键概念 节点![]() 节点是 Elasticsearch 的一个实例,用于存储数据。当 Elasticsearch 实例开始运行时,它就会被创建。简单来说,它指的是 Elasticsearch 的一个正在运行的实例。节点通过其名称进行识别,以方便管理。 集群 (Cluster)![]() 集群是一组协同工作以保存数据的一个或多个节点。集群为整个数据提供搜索功能,并在所有节点上进行联合索引。基本上,它是一个运行 Elasticsearch 引擎的系统组。 与节点类似,它也通过名称进行识别,以方便管理。集群的默认名称是 elasticsearch。 文档![]() 文档是以 JSON 格式定义的字段的唯一集合。它用于存储驻留在 Elasticsearch 索引中的数据。因此,它可以被索引。每个文档都属于一种类型,并与唯一的标识符 (UID) 相关联。它以 JSON (键: 值) 对表示。在 RDBMS 中,文档表示为表中的一行。 在 Elasticsearch 术语中,文档 = 行,字段 = 列,索引 = 表,集群 = 数据库。 索引![]() 索引是不同类型文档的集合。它有助于执行搜索、更新和删除操作以及索引编制。在关系数据库中,索引表示为表,这意味着索引类似于 RDBMS 中的表。 Elasticsearch 允许在单个集群中定义各种索引。为了提高性能,索引使用分片的概念。 分片 (Shard)![]() 可以使用集群存储大量数据,但这可能会超出单个服务器的能力。为了克服这个问题,Elasticsearch 允许将索引分成多个部分,称为分片。因此,将您的索引分成多个部分以创建分片。您可以在创建索引时定义所需的分片数量。 在创建索引时,可以定义所需的分片数量。每个分片都是独立的且功能齐全的。 副本 (Replicas)![]() 副本是分片的附加副本。它们执行查询,就像分片一样。Elasticsearch 允许用户创建其索引和分片的副本。 Elasticsearch 提供副本以避免任何类型的故障,并有助于在发生故障时增强数据的可用性。故障可能是节点或分片由于某种原因要脱机。复制不仅提高了数据的可用性,而且还通过在这些副本中执行并行搜索操作来提高搜索性能。 类型![]() 在 Elasticsearch 中,为具有一组公共字段的文档定义类型。它是索引的逻辑类别,其语义取决于用户。 映射在 Elasticsearch 中,每个索引都有一个与之关联的映射,它是可以由索引中每个单独文档保存的数据的模式定义。可以自动完成映射,也可以手动为索引创建映射。当数据被推送到索引时,映射会自动添加。 ES 和 RDBMS 之间的比较在 Elasticsearch (ES) 中,文档类似于 RDBMS(关系数据库)中的行。行的集合创建一个表,在 Elasticsearch 中称为索引。 让我们比较一下 Elasticsearch 中使用的术语与 RDBMS。
|
我们请求您订阅我们的新闻通讯以获取最新更新。