互联网Java工程师面试题·Elasticsearch 篇·第一弹

本文聚焦于Elasticsearch的面试重点,涵盖集群架构、索引大小、分片调优、倒排索引、Master选举、索引与搜索过程、Linux优化等核心话题,深入探讨了Elasticsearch在实际应用中的优化策略和技术细节。
摘要由CSDN通过智能技术生成

目录

1、elasticsearch 了解多少,说说你们公司 es 的集群架构,索引数据大小,分片有多少,以及一些调优手段 。

1.1  设计阶段调优

1.2  写入调优

1.3  查询调优

1.4  其他调优

2、elasticsearch 的倒排索引是什么

3、elasticsearch 索引数据多了怎么办,如何调优,部署

3.1 动态索引层面

3.2 存储层面

3.3 部署层面

4、elasticsearch 是如何实现 master 选举的

5、详细描述一下 Elasticsearch 索引文档的过程

6、详细描述一下 Elasticsearch 搜索的过程?

7、Elasticsearch 在部署时,对 Linux 的设置有哪些优化方法

8、lucence 内部结构是什么?

9、Elasticsearch 是如何实现 Master 选举的?

10、Elasticsearch 中的节点(比如共 20 个),其中的 10 个选了一个 master,另外 10 个选了另一个 master,怎么办?

11、客户端在和集群连接时,如何选择特定的节点执行请求的?


1、elasticsearch 了解多少,说说你们公司 es 的集群架构,索引数据大小,分片有多少,以及一些调优手段 。

面试官 :想了解应聘者之前公司接触的 ES 使用场景、规模,有没有做过比较大规模的索引设计、规划、调优。
解答
如实结合自己的实践场景回答即可。
比如: ES 集群架构 13 个节点,索引根据通道不同共 20+ 索引,根据日期,每日递增 20+ ,索引: 10 分片,每日递增 1 亿 + 数据,每个通道每天索引大小控制:150GB 之内。
仅索引层面调优手段:

1.1  设计阶段调优

1 、根据业务增量需求,采取基于日期模板创建索引,通过 roll over API 滚动索引;
2 、使用别名进行索引管理;
3 、每天凌晨定时对索引做 force_merge 操作,以释放空间;
4 、采取冷热分离机制,热数据存储到 SSD ,提高检索效率;冷数据定期进行 shrink操作,以缩减存储;
5 、采取 curator 进行索引的生命周期管理;
6 、仅针对需要分词的字段,合理的设置分词器;
7 Mapping 阶段充分结合各个字段的属性,是否需要检索、是否需要存储等。

1.2  写入调优

1 、写入前副本数设置为 0
2 、写入前关闭 refresh_interval 设置为 -1 ,禁用刷新机制;
3 、写入过程中:采取 bulk 批量写入;
4 、写入后恢复副本数和刷新间隔;
5 、尽量使用自动生成的 id

1.3  查询调优

1 、禁用 wildcard
2 、禁用批量 terms (成百上千的场景);
3 、充分利用倒排索引机制,能 keyword 类型尽量 keyword
4 、数据量大时候,可以先基于时间敲定索引再检索;
5 、设置合理的路由机制。

1.4  其他调优

部署调优,业务调优等。
上面的提及一部分,面试者就基本对你之前的实践或者运维经验有所评估了。

2elasticsearch 的倒排索引是什么

面试官 :想了解你对基础概念的认知。
解答 :通俗解释一下就可以。
传统的我们的检索是通过文章,逐个遍历找到对应关键词的位置。
而倒排索引,是通过分词策略,形成了词和文章的映射关系表,这种词典 + 映射表,即为倒排索引。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

时光の尘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值