面试官:ElasticSearch是什么,它有什么特性与使用场景?

2022年05月14日 阅读数:6
这篇文章主要向大家介绍面试官:ElasticSearch是什么,它有什么特性与使用场景?,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。

哈喽!你们好,我是小奇,一位热爱分享的程序员
小奇打算以轻松幽默的对话方式来分享一些技术,若是你以为经过小奇的文章学到了东西,那就给小奇一个赞吧
文章持续更新,能够微信搜索【小奇JAVA面试】第一时间阅读,回复【资料】更有我为你们准备的福利哟!回复【项目】有我为你们准备的一些项目源码。程序员

1、前言

书接上回,我本觉得我跟面试个人小姐姐情投意合,此次工做确定是十拿九稳了。web

却不知最后卡在了hr大姐那里了,说我体格过小不合适,我是来面试开发来了,不是面试驴拉磨来了, 我怀疑hr跟刘婶是亲戚吧,以貌取人、以体格取人。。。面试

因为觉得昨天十拿九稳,今天也没有约面试,闲着也是闲着,我准备找我在北京当工程师的发小去玩一天,他跟我说他是什么长方体固体定向移动工程师,我也不懂这是个什么,感受比Java工程师要厉害,决定今天去拜访他一下。数据库

换乘了四趟地铁,又坐了十几站公交车,终于来到了我发小猴哥这里来了,他以前在电话里跟我说他如今混得特别好,从以前的一无全部,混到如今的。。。,因为地铁上信号不太好后面混成啥样没听清就挂断了,我以为怎么也混到了呼风唤雨的地步了吧。微信

到了目的地跟他打电话,他跟我说他在幸福小区顶楼,直接上来吧没有门,我寻思什么房子这么高级没有门呢,结果上来了远远的就看见他的背影了,我终于知道后面说的如今混成什么样了,原来是从以前的一无全部,混成如今的身无分文了啊。。。分布式

在这里插入图片描述

我:“猴哥,你不是说你在顶楼没有门吗?”svg

猴哥:“对啊,你看我如今不就在顶楼正干活呢嘛,这顶楼尚未盖好,因此固然没有门了嘛”。性能

我:“行吧,说不过你,那你不是工程师吗,什么长方体固体定向移动工程师”。网站

猴哥:“对啊,你看我手里的砖是长方体吧,我从这边给他移动到这边,我这一套下来不就是长方体固体定向移动工程师嘛”。搜索引擎

我:“得,你来了大城市了之后套路也变深了啊”。

猴哥:“那必须的,对了小奇你来北京不是来面试Java了吗,面试的怎么样了?”

我:“别提了,人家嫌我体格很差,我要是有你这体格那我就杠杠的上班了”。

猴哥:“那你正好也别找开发工做了,你直接跟我干好了,干一个月你体格也就行了”。

我:“那大家这里加班吗?压力大不大?”

猴哥:“一点都不大,你能够看看咱们大门口的岗位要求,我感受简简单单啦,跟大家程序员仍是无法比的哦”。

我:“在哪呢?我去看看”。

在这里插入图片描述

我:“大家这特么都是跟谁学的,如今工地也这么卷的吗?“

猴哥:“没办法,咱们前一段时间空降了一个工头,以前是某大厂程序员,给咱们定了规矩,如今咱们天天回去还得写ppt呢”。

我:“这特么都是大厂给社会输送的人才,你得好好跟着大家工头干啊”。

猴哥:“必须的,等我我收拾一下,咱们出去玩”。

在这里插入图片描述

我:“你这就收拾好了啊,不换身衣服啊”。

猴哥:“不用换,一会领导打电话还得赶回来干活呢,大家不是也随时待命,陪女友逛商场也得背着电脑嘛”。

我:“之后学我点好的,别学我坏的”。

猴哥:“不是你也没有好的啊”。

我:“我。。。”。

2、面试

从发小那里玩完下午回来的路上忽然接到了一个电话,电话那头的小姐姐声音甜美,说是在简历库中看到了个人简历,问我有没有时间去现场面试,我想着反正如今也没有事情,不如就去面试,小姐姐说加我微信,一会发我公司地址。

加了小姐姐微信后,上来确定是先看一波朋友圈啊,小司机可能不太懂,可是老司机已经开始分析了,该说不说这个小姐姐确实正品啊,比刘婶强多了,为了弥补被我刘婶视觉冲击到的读者,我就把小姐姐的照片分享给你们。

在这里插入图片描述

到了地方后小姐姐把我带进一个小黑屋,正在我窃喜可能会发生点什么的时候之间她拿了面试题过来了,说外面没有地方了,就在这个小屋子里作题吧,唉,白期待了。

作完题来了一位面试官,我一看是男的就瞬间没了兴趣,可是来都来了,怎么也得面试完啊。

面试官:“小奇是吧”。

我:“是我”。

面试官:“我看你简历上写的精通ElasticSearch?是真的仍是写错了”。

我:“我时而精通时而模糊,你就问吧”。

面试官:“行,那你就先简单的说一下ElasticSearch是什么吧”。

3、ElasticSearch是什么

我:“ElasticSearch是用Java开发的,而且是当前最流行的开源的企业级搜索引擎,它提供了一个分布式多用户能力的全文搜索引擎,它可以达到实时搜索,稳定,可靠,快速,安装使用方便”。

4、ElasticSearch索引原理

面试官:“嗯,你能说一下ElasticSearch使用的什么索引吗,有什么原理吗”。

我:ElasticSearch中分词使用的是倒排索引。

在这里插入图片描述

我:ElasticSearch先将文章的内容进行分词,将词和行数关联起来,而后将重复的词去重,将行数记录下来,这样咱们上面若是搜索hello这个词的话就会给他展现第1和2行的数据,由于hello就在这两行里面,而不用再全文章扫描了。

面试官:“嗯,为何有些数据库在数据量变大的时候性能降低的很是厉害,而ElasticSearch数据量愈来愈大的时候反而性能降低的不明显呢”。

我:由于咱们能够看到,不管文章有多少的内容,咱们最后都会去重,也就是说最后的索引表中的条数不会超过全部的单词。

也就是说假如世界上只有100个单词,那么最后索引表中只有100条数据,由于文章是由单词组成的,文章内容再多最后去重后也只有100条数据,只不过数据的所在行有所变化而已。

这样咱们就看出来了,文章内容越多,他的单词重复率越高,查询性能下降的也愈来愈慢。

5、ElasticSearch分词器

面试官:“嗯,那咱们怎么知道一句话中哪些是词语呢,怎么来分词呢”。

我:若是文章是英文的,那么很是好分词,由于英文单词中间有空格,咱们根据空格就能够分词,这样直接使用ElasticSearch自带的分词器就好。

若是文章是中文的,那么使用ElasticSearch自带的分词器就不是很好了,由于它会将中文的每一字都给分开,显然是不合理的,总不能把奇哥很帅分开吧。

因此咱们可使用IK中文分词器,咱们使用这个插件就能够实现中文内容的分词了。

6、ElasticSearch有哪些使用场景呢

面试官:“嗯,那你说一下ElasticSearch有哪些使用场景呢”。

我:通常的话像百度这种的专门作搜索的,你搜索关键词,他会帮你找到对应的内容,而且给他标红。

在这里插入图片描述

我:还有像淘宝、京东这种购物网站,搜索关键词也会展现内容,而且关键词高亮处理。

在这里插入图片描述

面试官:“小伙子不错呀,何时能入职呢”

我:“额。。。我后面还约了面试呢,怎么也得一周左右了吧”

面试官:“别面别家的了,就来我这吧,条件随便开”

我:“不不不,容我考虑考虑”。

面试官:“行,那等你考虑好了告诉我,今天就先这样,你还有什么问题要问个人吗”

我:“我有问题要问”。

面试官:“什么问题”

我:“就是带个人那个hr球姐有对象吗。。。”

7、总结

这里关于ElasticSearch尚未整理完毕,文章后面持续更新,建议收藏。

文章中涉及到的命令你们必定要像我同样每一个都敲几遍,只有在敲的过程当中才能发现本身对命令是否真正的掌握了。

若是以为个人文章还不错的话就点个赞吧,另外能够微信搜索【小奇JAVA面试】阅读更多的好文章,获取我为你们准备的资料。回复【项目】更有开源项目持续更新分享给你们。