Elasticsearch中数据是如何存储的?

使用Elasticsearch的时候,我们常常需要关注数据存储在Elasticsearch中的存储容量。下面,我们来了解一下Elasticsearch中的数据是如何存储。

一、Elasticsearch索引结构

Elasticsearch对外提供的是index的概念,可以类比为MySQL DB,用户查询是在index上完成的,每个index由若干个shard组成,以此来达到分布式可扩展的能力。比如下图是一个由10个shard组成的index。

Elasticsearch中数据是如何存储的?

  • 正排数据:搜索引擎的通用叫法,即原始数据,可以理解为一个doc list。
  • doc values:Elasticsearch中的列式存储的名称,Elasticsearch除了存储原始数据、倒排索引,还存储了一份doc values,用作分析和排序。doc values 的存在是因为倒排索引只对某些操作是高效的。 倒排索引的优势在于查找包含某个项的文档,而对于从另外一个方向的相反操作并不高效,即:确定哪些项是否存在单个文档里,聚合需要这种次级的访问模式。

Elasticsearch中数据是如何存储的?

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注