Elasticsearch 实战笔试试题(含详细答案)_第1页
Elasticsearch 实战笔试试题(含详细答案)_第2页
Elasticsearch 实战笔试试题(含详细答案)_第3页
Elasticsearch 实战笔试试题(含详细答案)_第4页
Elasticsearch 实战笔试试题(含详细答案)_第5页
已阅读5页,还剩2页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Elasticsearch实战笔试试题(含详细答案)适用场景:后端开发、大数据检索、运维岗位笔试/面试难易程度:中等(覆盖基础+核心原理+实战优化)答题说明:满分100分,答题时间90分钟一、单项选择题(共10题,每题3分,共30分)1.以下关于Elasticsearch核心特性的描述,错误的是()A.基于Lucene开发的分布式全文搜索引擎B.支持实时数据检索,写入数据后可立即查询C.属于关系型数据库,支持完整事务ACIDD.支持水平扩容,集群架构高可用2.Elasticsearch7.x版本之后,默认的分片配置是()A.5个主分片,1个副本分片B.1个主分片,1个副本分片C.3个主分片,0个副本分片D.自定义分片,无默认配置3.下列哪种查询属于精确匹配,不会对文本进行分词()A.matchB.termC.multi_matchD.query_string4.Elasticsearch中负责集群管理、分片分配、节点协调的角色是()A.数据节点(datanode)B.主节点(masternode)C.客户端节点(clientnode)D.ingest节点5.关于倒排索引的说法,正确的是()A.倒排索引是按文档ID存储关键词B.倒排索引是关键词映射到文档ID,是ES检索高效的核心C.正排索引和倒排索引无区别D.倒排索引不支持分词检索6.ES中刷新缓冲区、将内存数据写入文件缓存的操作是()A.flushB.refreshC.mergeD.snapshot7.以下哪种场景不适合使用Elasticsearch()A.商品全文检索、日志检索分析B.海量数据模糊匹配、高亮查询C.高频更新、强事务的金融交易数据存储D.系统日志、运维审计数据检索8.ES集群中,副本分片的主要作用是()A.提升数据写入速度B.数据容灾备份,分担查询压力C.减少磁盘占用D.优化分词效果9.关键字must、should、must_not属于哪种查询语法()A.精确查询B.模糊查询C.bool布尔查询D.聚合查询10.ES中用于统计、分组、求和、求平均值的核心功能是()A.高亮查询B.聚合查询(aggregation)C.分页查询D.模糊查询二、填空题(共5题,每题4分,共20分)1.Elasticsearch的数据存储最小单元是________,多个分片组成________。2.ES文档写入流程:内存缓冲区写入→________→生成可检索文档→________落地磁盘。3.布尔查询中,________条件必须满足、参与分值计算;________条件不满足直接过滤数据。4.ES分页查询中,from+size分页深度过大会出现________问题,生产环境常用________替代解决。5.文本类型字段常用________类型(支持分词检索),精确字段(手机号、ID)常用________类型。三、简答题(共4题,每题8分,共32分)1.简述Elasticsearch中refresh和flush的区别,以及生产环境的调优思路。2.详细说明ES主分片和副本分片的核心区别,以及副本分片数量的配置原则。3.解释match查询和term查询的底层区别,以及各自的适用业务场景。4.简述ES深分页(from/size)性能极差的原因,以及对应的解决方案。四、实操分析题(共1题,18分)某电商项目使用ES存储商品数据,线上出现问题:1.商品标题检索模糊、匹配不准;2.数据写入频繁,CPU占用过高;3.首页分页查询深度较大,接口响应缓慢。问题:请分析以上三个问题的可能原因,并给出对应的生产级解决方案。完整详细答案一、单项选择题答案及解析1.C解析:ES是非结构化的分布式搜索引擎,不支持完整ACID事务,仅支持单文档原子性,不能替代MySQL等关系型数据库。2.B解析:ES7.x彻底废弃默认5主分片配置,新版本默认1主1副本,同时去除了type概念,一个索引仅含一种文档类型。3.B解析:term为精确匹配,不对搜索关键词分词;match会对关键词分词后匹配,适用于全文检索场景。4.B解析:主节点专职负责集群元数据管理、节点监控、分片分配,不承担数据读写任务,保证集群稳定。5.B解析:倒排索引核心逻辑:关键词→文档ID,检索时通过关键词快速定位对应文档,是ES检索速度快的核心原因。6.B解析:refresh:内存数据写入文件缓存,数据可被检索;flush:将缓存数据持久化落地磁盘,生成段文件。7.C解析:ES无强事务、无锁机制,不适合高频更新、需要事务一致性的金融交易场景,该场景必须用关系型数据库。8.B解析:副本分片不参与写入主流程,主要作用是数据备份防止丢数,同时分担读请求压力,提升查询并发能力。9.C解析:must、should、must_not、filter是bool查询四大核心条件,用于组合复杂检索条件。10.B解析:聚合查询(aggs)是ES用于数据统计分析的核心功能,支持分组、求和、最值、均值、直方图等统计场景。二、填空题答案1.分片(shard)、索引(index)2.refresh(刷新)、flush(持久化)3.must、must_not4.深度分页性能瓶颈、scroll/search_after5.text、keyword三、简答题详细答案1.refresh和flush的区别及调优思路核心区别:①refresh:将内存缓冲区的数据写入操作系统文件缓存,数据可被检索,但未落地磁盘,默认1秒执行一次,是ES近实时检索的核心;②flush:将文件缓存中的数据强制持久化到磁盘,生成完整索引段文件,清空事务日志,保证数据不丢失,执行频率远低于refresh。生产调优:高写入场景(日志、海量数据):调大refresh间隔(5s/10s),减少频繁刷新带来的CPU开销;实时业务场景(商品、订单检索):保留默认1s刷新,保证数据实时可见;禁止手动频繁执行flush,由ES自动调度即可。2.主分片与副本分片区别及配置原则核心区别:①主分片:索引写入、更新、删除的唯一分片,所有写请求必须经过主分片,再同步到副本分片;主分片数量创建索引后不可修改;②副本分片:主分片的备份,不处理写主请求,仅同步主分片数据;副本分片数量可随时动态修改;读写分离,分担查询压力。配置原则:①副本分片数不能大于集群可用节点数,否则会出现分片无法分配的问题;②生产环境至少配置1个副本,防止单节点宕机数据丢失;③读写并发高的集群,可适当增加副本数提升查询并发;写入极高的场景,可临时降低副本数减少同步压力。3.match与term查询区别及适用场景底层区别:①match查询:会先对搜索关键词进行分词,再去倒排索引匹配,支持模糊、全文匹配,会计算相关性分值;②term查询:无分词、精确完整匹配,直接用关键词匹配索引数据,不计算分值,仅精准命中。业务场景:match:商品标题、内容、文章正文等全文检索、模糊搜索场景;term:手机号、身份证、订单号、状态码、分类ID等精确筛选场景。4.ES深分页性能问题及解决方案性能差的原因:ES分布式架构下,from+size分页时,需要在所有分片查询出from+size条数据,聚合排序后再截取指定数据。分页越深(from越大),需要加载、排序、丢弃的数据越多,内存和CPU开销呈指数级增长,深度分页会直接导致接口超时、集群卡顿。解决方案:①轻度分页(前1000条):正常使用from+size,限制最大分页深度;②海量深分页、数据导出场景:使用scroll滚动查询,基于游标遍历全量数据;③移动端/前端分页(无限滚动):使用search_after,基于排序字段游标分页,无深度瓶颈,性能最优(生产首选)。四、实操分析题详细答案问题1:商品标题检索模糊、匹配不准可能原因:1.字段类型配置错误,商品标题未设置text分词类型,或使用了默认分词器,中文分词效果差;2.查询语法错误,全文检索使用了term精确匹配,无法分词模糊命中;3.未配置合适的中文分词器(ik分词器),默认标准分词器对中文单字拆分,匹配混乱。解决方案:重建索引,标题字段设置text类型,集成IK分词器(ik_max_word细粒度分词);统一使用match查询做全文检索,精确筛选字段使用keyword类型+term查询。问题2:数据写入频繁,CPU占用过高可能原因:1.默认refresh=1s,高频写入场景频繁刷新索引,产生大量小索引段,触发频繁段合并;2.单次写入数据量过小,大量单条写入请求,网络和IO开销大;3.副本分片数过多,主从数据同步压力大。解决方案:高写入时段调大refresh刷新间隔;使用bulk批量写入替代单条写入;合理调低副本数,避开业务高峰执行段合并,优化集群线程池参数。问题3:深分页查

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论