elasticsearch 核心概念
一、NRT (近实时)
从数据被写到 ES 到可被检索可以达到秒级
二、Document (文档)
理解为一个 JSON 数据。比如下面是一个商品文档
|
|
三、Field (字段)
文档中的属性,理解为 json 中的 key
四、Index (索引)
一个 index 包含多个数据结构相似的 document。
五、Type (类型)
从 6.0.0 开始单个索引中只能有一个类型,7.0.0 以后将将不建议使用,8.0.0 以后完全不支持。 每个索引中可以包含多个 type,type 可以为 index 做逻辑分类,不同的分类可以定义不同的 field。比如一个商品索引,可以包含许多不同种类的商品,不同种类的商品数据结构字段可能不相同。举个例子:
下面有两个商品
|
|
六、Mapping (映射)
映射是定义文档如何存储和索引的过程,所以创建索引时要指定索引和文档的映射关系。例如下面定义了字段的数据类型
|
|
七、Shard (分片)
Shard 也称为 Primary Shard es 可以将一个索引中的数据切分成多个较小的 Shard,分布在不同的 Node 上存储。 ES 会把查询发送给每个相关的分片,从而提高吞吐量。这样就可以解决单台机器性能瓶颈问题。 默认情况下有 5 个 Primary Shard
八、Replica (副本)
Replica 也称为 Replica Shard 当某个 Node 发生故障时,shard 会处于丢失状态,因此可以为每个 shard 创建多个副本。好处如下
冗余能力 当某个 Node 故障时可以使用其他 Node 中的 replica 来作为备用。 提高检索性能 Replica Shard 也可以提供查询的能力,所以在执行多个检索操作的时候可以将请求发送到不通的副本中
默认情况下每个 Primary Shard 有 1 个 Replica Shard。Replica Shard 不能和 Primary Shard 在同一节点上。
九、索引模板
索引模板是用于定义索引的 mapping 和 settings 的机制。可以在 索引数据 之前定义索引的结构和属性。模板可以使用通配符或正则表达式来匹配索引名称,例如,可以使用 "logs-*“来匹配以"logs-“开头的索引名称。模板可以包含字段映射、设置和分析器配置等信息,这些信息将被应用于新创建的索引。

