2Elasticsearch-基本概念

31次阅读

共计 1008 个字符,预计需要花费 3 分钟才能阅读完成。

Elasticsearch 简介

  • Elasticsearch 是一个高可扩展的,全文搜索分析引擎。
  • 可以近实时地存储、搜索以及分析海量数据。
  • 通常作为底层引擎为应用提供复杂搜索功能。
  • 应用:

    • 搜索功能
    • 自动提示
    • 聚合分析日志
    • 等等 …

Near Realtime(NRT,近实时)

从存入到可搜索,只有轻微的延迟(约 1 秒)

Cluster(集群)

集群是一个或多个节点(服务器)的集合。整个集群共同保存数据,并提供跨节点的联合索引与搜索功能。<br/>
集群由唯一名称标识,Elasticsearch 的默认集群名称为“elasticsearch”。

Node(节点)

节点作为集群的一个服务器,提供存储数据,集群的索引与搜索功能。<br/>
Elasticsearch 节点名称默认为一个随机的 UUID 的前 7 位。

Index(索引)

索引是相似特征的文档的集合。例如,你可以同时拥有用户数据索引、订单数据索引以及商品目录索引。<br/>
索引由名称标识(全小写),通过名称引用索引对索引中的文档进行索引、搜索、更新、删除等操作。

Type(类型)

已弃用,在将来更高版本中会删除。<br/>
类型作为索引的逻辑分区,允许同一个索引中存储不同类型的文档,例如用户类型、博客类型等。

Document(文档)

文档是 Elasticsearch 的基本信息单元,例如,一个文档表示产品,一个文档表示客户 …

Shards(分片)与 Replicas(副本)

单节点受硬盘空间的限制,以及查询速度会随着数据增加而变慢。<br/>
Elasticsearch 将索引拆分为多个分片,每个分片都是一个功能齐全且独立的索引,存储到不同的节点上。有两个好处:

  • 可以水平切割 / 收缩容量。(针对单节点受硬盘空间的限制
  • 允许在多个节点上并行操作,从而提高性能和吞吐量。(针对查询速度会随着数据增加而变慢

由于在网络 / 云环境中,随时可能发生故障:例如分片 / 节点不知怎么下线了或者因任何原因消失。<br/>
Elasticsearch 允许将分片的一个或多个副本,制作成副本分片或简称为副本。使用副本有两个理由:

  • 在分片 / 节点故障时提供高可用。注意,副本分片不会与原分片存放到同一个节点上。
  • 可以扩展搜索量 / 吞吐量,因为可以在所有副本是并行搜索。

总而言之,一个索引可以被拆为多个分片,一个分片可以有 0 到多个副本分片。<br/>
Elasticsearch 默认 5 个分片,1 份副本,一共 10 个分片(5 个主分片,5 个副本分片)。

正文完
 0