云搜索 Elasticsearch

产品文档

云搜索 Elasticsearch

核心概念

以下是Elasticsearch产品中使用到的概念及其解释,请参考。

Cluster

集群(Cluster)包含一个或多个节点,提供了联合索引以及可跨所有节点的搜索能力。多节点组成的ES集群具有冗余能力,它可以在一个或几个节点出现故障时保证服务的整体可用性。集群靠其独有的名称进行标识,节点靠其集群名称来决定加入哪个Elasticsearch集群,一个节点只能属于一个集群,如果不考虑冗余能力等特性,仅有一个节点的Elasticsearch集群一样可以实现所有的存储及搜索功能。从外部看ES集群是去中心化的,在逻辑上是一个整体。

Node

一个运行中的 Elasticsearch 实例称为一个节点(node),集群内的节点共同承担数据的存储和查询请求,当有节点加入集群中或者从集群中移除节点时,集群将会重新平均分布数据在所有可用节点上。类似于集群,节点靠其名称进行标识,默认为启动时自动生成的随机Marvel字符名称,节点通过为其配置的Elasticsearch集群名称确定其所要加入的集群。

Index

Elasticsearch将数据存储于一个或多个索引(Index)中,索引是具有类似特性的文档的集合,索引相当于SQL中的一个数据库,或者一个数据存储方案(schema),是存储关系型文档的地方,存储一个文档到一个索引中以便它可以被检索和查询到,文档已存在时新文档会替换旧文档。索引由其名称进行标识,并通过引用此名称完成文档的创建、搜索、更新及删除操作。一个Elasticsearch集群中可以按需创建任意数目的索引。

Shards

一个索引切分为多个底层物理的Lucene索引完成索引数据的分割存储功能,这每一个物理的Lucene索引称为一个分片。分片(Shards)是数据的容器,文档保存在分片内,一个分片是一个底层的工作单元,它仅保存了全部数据中的一部分,每个分片其内部都是一个全功能且独立的索引,因此可由集群中的任何主机存储,各Shard分布式地存储于这些节点上。创建索引时,用户可指定其分片的数量,默认数量为5个。Shard有主分片和副本分片两种类型,主分片用于文档存储,每个新的索引会自动创建5个主分片,当然此数量可在索引创建之前通过配置自行定义,一旦创建完成,主分片数量将不可更改。副本分片是主分片的副本,用于冗余数据及提高搜索性能。每个主分片默认配置了一个副本分片,也可以配置多个,且其数量可动态更改,ES会根据需要自动增加或减少副本分片的数量。

Type

类型(Type)是索引内部的逻辑分区,相当于数据库的一个表,其意义取决于用户的需求。一个索引内部可定义一个或多个类型,例如,在索引中,可以定义一个用于存储用户数据的类型,一个存储日志数据的类型,以及一个存储评论数据的类型。

Document

文档(Document)是索引的最基本单元,可以看成数据库表中的一行记录,基于JSON格式进行表示,同一类型下的文档在一定程度上相似。

Mapping

映射(Mapping)是存储在索引中的文档的大纲。创建索引的时候,可以预先定义字段的类型以及相关属性(比如说让某个字段是否存储、用哪种分析器、重要级别),用户可根据需要定义如何将文本分割成token、哪些token应该被过滤掉,以及哪些文本需要进行额外处理等。

Recovery

代表数据恢复或叫数据重新分布,ES在有节点加入或退出时会根据机器的负载对索引分片进行重新分配,挂掉的节点在重新启动时也会进行数据恢复。

更新时间:2019-05-30 16:28:03