后端工程师的高阶面经
邓明
前 Shopee 高级工程师,Beego PMC
6888 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 50 讲
后端工程师的高阶面经
15
15
1.0x
00:00/00:00
登录|注册

40|Elasticsearch查询:怎么优化 Elasticsearch 的查询性能?

你好,我是大明。今天我们学习 Elasticsearch 的另外一个关键主题——高性能。
如果你经常和 Elasticsearch 打交道,你十有八九遇到过 Elasticsearch 的性能问题。这也就是为什么在面试中我们经常会遇到 Elasticsearch 性能优化相关的问题。 那么今天我就带你看看怎么优化 Elasticsearch 的性能,在面试中赢得竞争优势。
我们先来看 Elasticsearch 的索引机制,它是我们理解 Elasticsearch 原理的关键。

Elasticsearch 的索引机制

Elasticsearch 的索引和之前你已经学习过的数据库索引比起来,还是有很大不同的,它使用的是倒排索引。所谓的倒排索引是相对于“正排”索引而言的。在一般的文件系统中,索引是文档映射到关键字,而倒排索引正相反,是从关键字映射到了文档。
所以你可以想到,假如说没有倒排索引,你想要找到包含关键字“Elasticsearch”的文档,那么你需要遍历所有的文档,然后筛选出包含了“Elasticsearch”关键字的文档。而有了倒排索引,你就可以直接从关键字出发,找到“Elasticsearch”关键字对应的文档。
Elasticsearch 依赖于 Lucene 来维护索引,它的基本原理也很简单。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文深入介绍了Elasticsearch查询性能优化的相关内容,强调了倒排索引的重要性,并解释了Elasticsearch如何维护索引。在面试准备中,需要了解公司内部与Elasticsearch相关的数据,并突出Elasticsearch性能优化的竞争优势。文章列举了一些优化方案,包括批量提交、优化不必要字段、冷热分离以及其他常规优化,这些方案可以帮助读者更好地理解Elasticsearch的性能优化方法。此外,还提到了优化swap和文件描述符的重要性,以及面试思路总结和思考题。整体而言,本文内容丰富,涵盖了Elasticsearch性能优化的多个方面,对读者理解和应用Elasticsearch具有一定的指导意义。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《后端工程师的高阶面经》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(3)

  • 最新
  • 精选
  • Geek_035c60
    解释索引机制,posting list 其中的 Hello 单词在文档0、文档1都出现,为什么posting list 中只记录了文档0的信息,没有文档1的信息的呢?

    作者回复: 原文哪里?

    2023-11-10归属地:北京
  • peter
    请教老师两个问题: Q1:对于一个网站,ES主要用于日志处理吗? Q2:ES的源码是否值得研究?复杂吗?

    作者回复: 1. ES 的应用非常广泛,不仅仅是日志处理。基本上涉及到一些近似于 SQL 模糊搜索的地方,用 ES 效果都很好。 2. 值得,但是我建议你成为高级工程师之后再去研究。

    2023-09-24归属地:北京
  • ZhiguoXue_IT
    1)优化那个间隔时间,需要根据业务场景来选择,有些场景太慢确实影响用户 2)作者提到的冷热分离优化偏机器配置上,机器配置决定性能的大小 冷热分离,也可以根据索引数的个数来区分,比如冷索引数据比较多可以多一些索引数 也可以通过将冷索引的段数强制合并成1,提高搜索性能

    作者回复: 赞!很不错的补充!

    2023-09-23归属地:北京
收起评论
显示
设置
留言
3
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部