40 个最热门 ElasticSearch 面试问题及答案(2025 年)
以下是 ElasticSearch 面试问题和答案,可以帮助新手和经验丰富的应聘者获得他们梦想的工作。
面向新人的 ElasticSearch 面试问题和答案
1)什么是 Elasticsearch?
Elasticsearch 是一个 NoSQL数据库。它基于 Lucene 搜索引擎,使用 RESTful APIS 构建。它提供简单的部署、最大的可靠性和易于管理。它还提供高级查询以执行详细分析并集中存储所有数据。它有助于快速搜索文档。
2)Elasticsearch 的重要特性是什么?
以下是 Elasticsearch 的重要特性:
- 使用编写的开源搜索服务器 Java.
- 用于索引任何类型的异构数据
- 具有带 JSON 输出的 REST API 网络界面
- 全文搜索
- 近实时 (NRT) 搜索
- 分片、复制、可搜索的 JSON 文档存储。
- 无模式、基于 REST 和 JSON 的分布式文档存储
- 多语言和地理位置支持
3)什么是 Cluster?
集群是节点的集合,它们共同保存数据并提供联合索引和搜索功能。
4)解释索引
节点是 Elastic Search 实例。它在 ElasticSearch 实例启动时被创建。
5)Elastic Search 中的文档是什么?
在 Elastic 搜索中,文档是可以索引的基本信息单元。它表示为 JSON (key: value) pair. '{"user": "nullcon"}'
. 每个文档都与一个类型和一个唯一的 ID 相关联。
6)定义分片
每个索引都可以拆分成多个分片,以便分发数据。分片是索引的原子部分,如果您想添加更多节点,可以将其分布在集群中。
7)Elastic Search 的重要优点是什么?
以下是 Elasticsearch 的重要优点:
- 存储无模式数据并为您的数据创建模式。
- 借助多文档 API 逐条处理数据记录
- 执行过滤和查询数据以获取见解
- 基于 Apache Lucene 并提供 RESTful API
- 它为索引的实时使用提供了水平可扩展性、可靠性和多租户功能。
- 帮助您垂直和水平扩展
8)什么是 ELK 堆栈?
- 麋鹿栈 是三个开源产品的集合——Elasticsearch、 Logstash和 Kibana。它们均由 Elastic 公司开发、管理和维护。
- E 代表 ElasticSearch:用于存储日志。
- L 代表 LogStash: 它既用于运输,也用于加工和存储原木。
- K 代表 Kibana: 它是一个可视化工具(Web 界面),通过 Nginx 或 阿帕奇.
9)解释 ELK 堆栈架构
ELK Stack 旨在允许用户获取来自任何来源、任何格式的数据,并实时搜索、分析和可视化这些数据。
- 日志: 识别需要分析的服务器日志
- Logstash: 收集日志和事件数据。它甚至解析和转换数据。
- 弹性搜索: 转换后的数据来自 Logstash 是存储、搜索和索引。
- Kibana: Kibana 使用 Elasticsearch DB 进行探索、可视化和共享
10)使用 ELK 堆栈的原因是什么?
以下是使用 ELK 堆栈的原因:
- 当企业各个应用程序的日志汇聚到单个 ELK 实例时,ELK 的效果最佳
- 它为这个单一实例提供了惊人的洞察力,同时也消除了登录一百个不同的日志数据源的需要。
- 快速现场安装
- 易于部署 垂直和水平扩展
- Elastic 提供多种语言客户端,其中包括 Ruby。 Python.PHP、Perl、.NET、 Java及 JavaScript, 和更多
- 提供适用于不同编程和脚本语言的库
11)解释 ElasticSearch 中的 Tokenizer
Tokenizer 将文档的字段值分解为流。使用这些值创建和更新倒排索引。之后,这些值流存储在文档中。
12)ElasticSearch 中的副本是什么?
ElasticSearch 中的每个分片都有 2 个副本,称为副本。它们可帮助您实现高可用性和容错能力。
13)主要 Opera您可以在文档上执行什么操作?
这里是对文档执行的重要操作:
- 索引文档
- 正在获取文档
- 更新文档
- 删除文档
14)什么是 Cluster 在 Elasticsearch 中?
Cluster 是单个或多个节点的集合,可保存您的全部数据并提供跨所有节点的联合索引和搜索功能。
15)如何删除 Elastic 搜索中的索引?
要删除 Elasticsearch 中的索引,您需要写入命令:
DELETE /index name.
例如, DELETE /website
.
16)解释在索引中添加映射的方法
Elasticsearch 允许您根据用户在请求主体中提供的数据创建映射。其批量功能可用于在索引中添加多个 JSON 对象。
例如, POST website /_bulk
.
17)Elasticsearch 中有哪几种搜索方式?
Elasticsearch 中的搜索方式如下:
多索引、多类型搜索: 您可以使用多索引支持系统搜索可跨所有多个索引应用的 API。
在 Elastic search 中,我们可以跨所有索引和所有类型创建某些标签。
- URI 搜索: 通过提供请求的参数,使用 URI 执行搜索请求。
- 请求正文搜索: 搜索请求需要由搜索 DSL 执行。其主体中包含查询 DSL。
18)Elasticsearch 的最新版本是什么?
2020 年 XNUMX 月的最新版本 Elastic Search,这是 Elasticsearch 的最新稳定版本。
19)什么是制图?
映射是一种帮助您定义文档如何映射到搜索引擎的过程。其可搜索特性包括字段被标记化且可搜索。
20)Elastic Search 存储在哪里?
您可以将 Elasticsearch 存储为分布式文档,即具有各种类型目录的存储库。您还可以检索可以序列化为 JSON 文档的复杂数据结构。
经验丰富的 ElasticSearch 面试问题和答案
21)什么是 Apache Lucene?
Apache Lucene 是一个开源信息检索软件库。它最初写于 Java language.
22)这里是 Elasticsearch 支持的重要配置管理工具:
- Puppet – puppet-elasticsearch
- 厨师 – cookbook-elasticsearch
- Ansible – ansible-elastic 搜索
23)Elasticsearch 中的 NRT 是什么?
NRT 是(近实时搜索)平台的全称。它是一个近实时搜索平台。这意味着从索引文档到文档变得非常易于搜索,会有轻微的延迟(通常是一秒钟)。
24)您在哪里配置X-Pack的设置?
您可以配置 X-Pack 的设置。它在 elasticsearch、logstash 和 kibana.yml(ELK 堆栈)配置文件中具有功能。
25)Elasticsearch 中的 cat API 是什么?
这些命令接受查询字符串参数。这有助于查看它们提供的所有信息和标头以及 /_cat 命令,该命令允许您列出所有可用的命令。
26)Elasticsearch cat API 中有哪些可用的命令?
与 cat API 一起使用的命令是:
- 猫别名、猫分配、猫数量、猫场数据
- 猫咪健康、猫咪指数、猫咪大师、待处理任务、猫咪插件、猫咪恢复
- cat 存储库、cat 快照、cat 模板
27)什么是 Ingest 节点?
提取节点用于在实际文档索引之前对文档进行预处理。它可以帮助您拦截批量和索引请求。它还会应用转换,然后将文档传回批量 API 和索引。
28)X-Pack 命令有哪些不同的使用方式?
以下是帮助您配置安全性的 X-Pack 命令:
- 塞特根
- 迁移
- 系统密钥生成器
- CERTUTIL
- saml 元数据
- 设置密码
- 用户
29)Elasticsearch 中的单文档 API 是什么?
- 获取 API
- 索引 API
- 删除 API
- 更新API
30)解释 Elasticsearch 中的 Explore API
Graph 探索 API 允许您提取和汇总有关文档的信息。
31)如何在 Elasticsearch 中创建索引?
例如:
PUT /client?pretty
GET /_cat/indices?v
32)什么是聚合?
聚合框架可帮助您根据搜索查询提供聚合数据。它基于称为聚合的简单构建块。它可以组合起来构建复杂的数据摘要。
33)Elasticsearch 有模式吗?
ElasticSearch 映射可用于强制执行文档的模式。
34)Elasticsearch 中的查询 DSL 是什么?
Elasticsearch 提供基于 JSON 的完整查询 DSL(领域特定语言)来定义查询。
35)什么是 Elasticsearch 数据节点?
数据节点保存处理索引文档的分片。它们可帮助您执行与数据相关的 CRUD 和搜索聚合操作等。但是,您需要设置 node.data=true 才能使节点成为数据节点。
36)ElasticSearch 中的文档是什么?
文档与关系数据库中的行非常相似。索引中的每个文档都具有不同的结构,但各个字段的数据类型相同。
- MySQL => 数据库 => 表 => 列/行
- ElasticSearch => 索引 => 类型 => 具有属性的文档
37)解释 ElasticSearch 中的类型
类型是一个逻辑索引分区,其语义取决于用户。
38)Elasticsearch 的查询语言是什么?
Elasticsearch 使用 Apache Lucene 查询语言,也称为查询 DSL。
39)Elasticsearch 中的动态映射是什么?
动态映射可帮助用户索引文档,而无需对字段名称进行不必要的配置。相反,它将通过 Elasticsearch 使用一些自定义规则自动添加。
40)什么是模糊搜索 Elasticsearch?
模糊搜索是一种需要识别网页文档位置的过程。这与搜索参数类似。当参数与特定信息的搜索对象不相关时,它也有效。
这些面试问题也会对你的口试有帮助