一架梯子,一头程序猿,仰望星空!
Elasticsearch面试题 > 内容正文

介绍 Elasticsearch 的基本概念:索引、文档、字段、映射、分片和复制。


问题简答

Elasticsearch 是一个基于 Lucene 的搜索引擎,用于处理大规模的分布式数据。

问题详解:

  1. 索引(Index):
    索引是一种类似于数据库的索引数据结构,它包含了一系列文档的集合。每个索引都有一个唯一的名称,并且可以被分成多个分片(shards),每个分片可以存储部分文档数据。索引主要用于提高数据查询速度。

  2. 文档(Document):
    文档是一个最小的信息单元,它可以被索引和检索。每个文档都有一个唯一的 ID,它由用户指定或由 Elasticsearch 自动生成。文档是以 JSON 格式存储的。

  3. 字段(Field):
    文档包含了一个或多个字段,每个字段包含了一个特定的数据类型,例如字符串、整数、日期等。字段可以被用来进行搜索、过滤和排序等操作。

  4. 映射(Mapping):
    映射定义了每个字段的数据类型、分析器等属性。在索引数据之前,必须先定义好索引的映射。

  5. 分片(Shard):
    为了处理大规模数据,Elasticsearch 将文档数据分成多个分片,每个分片可以存储部分文档数据。分片可以分布在不同的节点上,从而实现了分布式处理。

  6. 复制(Replication):
    为了提高搜索效率和可用性,Elasticsearch 会对每个分片进行复制,并将其存储在不同的节点上。复制可以提高搜索的并发能力,并在某个节点出现故障时提供数据备份和容错能力。