【Java进阶营】Java架构师面试必问:Elasticsearch面试题总结

本文详述了Elasticsearch在Java架构面试中的常见问题,包括为何选择Elasticsearch、集群配置(如2台6核64G机器,1000万/日增量数据)、倒排索引概念、索引优化策略(如时间滚动、冷热数据分离)、主节点选举过程、索引与更新文档的流程,以及在大数据量聚合和并发场景下的解决方案。
摘要由CSDN通过智能技术生成

1.为什么要使用Elasticsearch?

当我们在商城中使用搜索功能时,随着后期项目数据量的不断增大,如果我们继续使用以前数据库模糊查询的方式去查询数据,在百万数据量的情况下,效率非常低下;而Es是一种支持全文检索的框架,特点是可以实时存储和实时分析搜索引擎,并且当我们数据量很大的时候可以集群,所以我们使用搜索功能时,可以把商品常用的名称,价格,描述,id等信息存储到索引库中,查询的时候可以提高查询速度。

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

es 生产集群我们部署了 2台机器,每台机器是 6 核 64G 的,集群总内存是 128G。

我们 es 集群的日增量数据大概是 1000 万条,每天日增量数据大概是 200MB,每月增量数据大概是 3 亿,8G。

目前线上有 5个索引,每个索引的数据量大概是 10G,所以这个数据量之内,我们每个索引使用的是默认的5个shard(分片)。

调优手段一般是从三个方面去考虑的:

1.在设计阶段的时候 使用别名进行索引管理,每天凌晨定时对索引进行force_merge操作,针对合理的字段设置分词器

2.在写入的前,副本数设置为0并且禁用刷新机制,写入过程中,采用bulk批量写入;写入后恢复副本数和刷新间隔。

3,在查询的时候利用倒排索引机制,尽量使用keyword类型。

3、elasticsearch 的倒排索引是什么

我们传统的检索方式是通过遍历整篇文章,逐个比对找到对应的关键词位置,而倒

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值