Elasticsearch面试题精选20题

本文汇总了20道关于Elasticsearch的面试题,涵盖ES的高速查询原理、与MongoDB的区别、倒排索引、大数据量调优、集群架构、读写一致性保障、拼写纠错等多个关键知识点,帮助读者深入理解Elasticsearch的核心技术和应用场景。
摘要由CSDN通过智能技术生成

目录

1.ES为什么那么快(ES的索引原理)?

2.MongoDB和Elasticsearch区别

3.ES的倒排索引是什么?

4.Elasticsearch索引数据多了怎么办,如何调优,部署?

5.说你们公司ES的集群架构,索引数据大小,分片有多少,以及一些调优手段 。

6.Elasticsearch是如何实现master选举的?

7. 详细描述一下 Elasticsearch 索引文档的过程。

8.详细描述一下 Elasticsearch 搜索的过程?

9. Elasticsearch 在部署时,对 Linux 的设置有哪些优化方法?

10. lucence 内部结构是什么?

11. 详细描述一下 Elasticsearch 更新和删除文档的过程。

12. 对于 GC 方面,在使用 Elasticsearch 时要注意什么?

13. Elasticsearch 对于大数据量(上亿量级)的聚合如何实现?

14. 在并发情况下,Elasticsearch 如果保证读写一致?

15. 介绍下你们电商搜索的整体技术架构。

16. 是否了解字典树?

17.能否列出与 Elasticsearch 有关的主要可用字段数据类型?

18.ElasticSearch中的集群、节点、索引、文档、类型是什么?

19.  在Elasticsearch中 cat API的功能是什么?

20. 拼写纠错是如何实现的?


2.MongoDB和Elasticsearch区别

3.ES的倒排索引是什么?

传统的检索是通过文章,逐个遍历找到对应关键词的位置。
而倒排索引,是通过分词策略,形成了词和文章的映射关系表,这种 词典+映射表即为倒排索引
有了倒排索引,就能实现O(1)时间复杂度的效率检索文章了,极大的提高了检索效率。

学术的解答方式:
倒排索引,相反于一篇文章包含了哪些词,它从词出发,记载了这个词在哪些文档中出现过,由两部分组成—— 词典和倒排表
加分项:倒排索引的 底层实现 是基于: FST (Finite State Transducer) 数据结构
lucene从4+版本后开始大量使用的数据结构是FST。 FST有两个优点
  1. 空间占用小。通过对词典中单词前缀和后缀的重复利用,压缩了存储空间;
  2. 查询速度快O(len(str))的查询时间复杂度。

4.Elasticsearch索引数据多了怎么办,如何调优,部署?

索引数据的规划,应在前期做好规划,正所谓“ 设计先行,编码在后 ”,这样才能有效的避免突如其来的数据激增导致集群处理能力不足引发的线上客户检索或者其他业务受到影响。
调优策略:
1.动态索引层面:
基于模板+时间+rollover api滚动创建索引,举例:设计阶段定义:blog索引的模板格式为:blog_index_时间戳的形式,每天递增数据。
这样做的好处:不至于数据量激增导致单个索引数据量非常大,接近于上线2的32次幂-1,索引存储达到了TB+甚至更大。
一旦单个索引很大,存储等各种风险也随之而来,所以要提前考虑+及早避免。
2. 存储层面:
冷热数据分离 存储,热数据(比如最近3天或者一周的数据),其余为冷数据。对于冷数据不会再写入新数据,可以考虑定期 force_merge 加 shrink 压缩操作,节省存储空间和检索效率。
3. 部署层面
一旦之前没有规划,这里就属于应急策略。结合ES自身的支持动态扩展的特点, 动态新增机器 的方式可以缓解集群压力,注意:如果之前主节点等规划合理,不需要重启集群也能完成动态新增的。

5.说你们公司ES的集群架构,索引数据大小,分片有多少,以及一些调优手段 。

如实结合自己的实践场景回答即可。
比如:ES集群架构13个节点,索引根据通道不同共20+索引,根据日期,每日递增20+
索引:10分片,每日递增1亿+数据,每个通道每天索引大小控制:150GB之内。
仅索引层面调优手段:
5.1、设计阶段调优
1、根据业务增量需求,采取基于 日期模板<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值