Elasticsearch 常见面试题

本文详细探讨了Elasticsearch的面试重点,包括其核心概念如集群、节点、分片、副本等,深入讲解倒排索引和Lucene的工作原理,以及数据写入、读取、删除和更新的过程。此外,还讨论了ES的存储原理、搜索过程、主节点选举、脑裂问题及其解决方案,并涉及监控、优化和性能提升策略。
摘要由CSDN通过智能技术生成

常见面试题

1、ES 是什么?

ElasticSearch 设计的理念就是分布式搜索引擎,底层其实还是基于 lucene 的。核心思想就是在
多台机器上启动多个 ES 进程实例,组成了一个 ES 集群。

2、ES 中的 集群、节点、分片、副本、索引、文档、映射、类型、字段 是什么?

集群:

  • ElasticSearch 设计的理念就是 分布式搜索引擎,底层其实还是基于 lucene 的。核心思想就是在 多台机器上启动多个 ES进程实例,组成了一个 ES 集群。
  • ES集群由一个或多个Elasticsearch节点组成,每个节点配置相同的 cluster.name 即可加入集群,默认值为 “elasticsearch”。

节点:

  • master 节点的职责主要包括集群节点索引的管理,不负责文档级别的管理;
  • data 节点负责数据的存储和相关的操作,例如对数据进行增、删、改、查和聚合等操作。
  • 主节点和其他节点之间通过 Ping 的方式互检查,主节点负责Ping所有其他节点,判断是否有节点已经挂掉。其他节点也通过Ping的方式判断主节点是否处于可用状态

分片:

  • 索引可以拆分成多个 分片 ,每个 分片 存储部分数据。每个分片又可以拷贝多份,每分片有一个主分片和多个副本分片
  • 这样可以提高性能,数据分布在多个 分片,即多台服务器上,所有的操作,都会在多台机器 上并行分布式执行,提高了吞吐量和性能。

副本:

  • 副本分片 就是 主分片的 备份读数据时可在 主分片副本分片上读取,提高并发能力。且当主分片所在的节点宕机后,还有其他节点的分片可用。

索引:

  • 索引 相当于 mysql 里的一张。存储着结构相近的数据。ES里是倒排索引,具有很高的搜索效率。

文档:

  • 文档 类比于 mysql 的一行数据

映射:

  • 映射 类比于 mysql 的表结构定义,规定了 索引里的文档的字段名称 和 类型。

字段:

  • 字段 类比于 mysql 的字段(列),是数据的标识

3、倒排索引是什么?倒排索引的结构?Lucene什么?

  • 倒排索引就是把原本文件ID对应到关键词的映射转换为关键词到文件ID的映射,每个关键词都对应着一系列的文件,这些文件中都出现这个关键词

  • 在 ES 里面,倒排索引主要由两部分组成: 词典倒排文件

    • 词典 就是 所有 关键词 的 集合倒排文件 就是 记录这些关键词 对应的 文档ID 的文件。每个关键字,或说词条,都对应着一个 排序列表,记录着 这些词条出现的文档ID
    • 搜索时, 分词器会将 字符串 分解为 一些 词条。然后根据 倒排索引, 找到这些 词条对应的 文档。然后再对这些文档进行整合处理,得到最终的结果。
  • Lucene 是一个工具包,它不是一个完整的全文检索引擎。

    • Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎
    • ES 就是 在Lucene 基础上开发的一个 搜索引擎

4、ES 写入数据的 过程?(答下一题的 过程即可)

  1. 客户端发送写请求到任意一个 节点,成为 协调节点

  2. 协调节点对文档ID 进行路由计算,确定文档 属于哪个分片 ,然后选择该分片的 主分片。然后将请求转发到 主分片 所在的节点 上。

  3. 节点 在该 主分片上 处理请求;在 ES 里, 数据是先写入内存 buffer 中的,然后。。。。(下面的过程)

  4. 主分片 处理成功后,将请求并行转发所有 副本分片所在的节点上。所有副本分片都执行成功后,主分片所在节点向协调节点报告成功。

  5. 协调节点 向 客户端 报告成功。

5、 ES 的底层 存储原理?

在这里插入图片描述

  1. refresh :数据先写入
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值