哈喽!大家好,我是小奇,一位热爱分享的程序员

小奇打算以轻松幽默的对话方式来分享一些技术,如果你觉得通过小奇的文章学到了东西,那就给小奇一个赞吧

文章持续更新

一、前言

书接上回,我本以为我跟面试我的小姐姐情投意合,这次工作肯定是十拿九稳了。

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

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

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

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

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

猴哥:“对啊,你看我现在不就在顶楼正干活呢嘛,这顶楼还没有盖好,所以当然没有门了嘛”。

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

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

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

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

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

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

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

猴哥:“一点都不大,你可以看看我们大门口的岗位要求,我感觉简简单单啦,跟你们程序员还是没法比的哦”。

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

我:“你们这特么都是跟谁学的,现在工地也这么卷的吗?“

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

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

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

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

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

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

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

我:“我。。。”。

二、面试

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

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

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

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

面试官:“小奇是吧”。

我:“是我”。

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

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

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

三、ElasticSearch是什么

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

四、ElasticSearch索引原理

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

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

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

面试官:“嗯,为什么有些数据库在数据量变大的时候性能下降的非常厉害,而ElasticSearch数据量越来越大的时候反而性能下降的不明显呢”。

我:因为我们可以看到,无论文章有多少的内容,我们最后都会去重,也就是说最后的索引表中的条数不会超过所有的单词。

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

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

五、ElasticSearch分词器

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

我:如果文章是英文的,那么非常好分词,因为英文单词中间有空格,我们根据空格就可以分词,这样直接使用ElasticSearch自带的分词器就好。

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

所以我们可以使用IK中文分词器,我们使用这个插件就可以实现中文内容的分词了。

六、ElasticSearch有哪些使用场景呢

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

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

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

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

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

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

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

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

我:“我有问题要问”。

面试官:“什么问题”

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

七、总结

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

文章中涉及到的命令大家一定要像我一样每个都敲几遍,只有在敲的过程中才能发现自己对命令是否真正的掌握了。

如果觉得我的文章还不错的话就点个赞吧

面试官:ElasticSearch是什么,它有什么特性与使用场景?的更多相关文章

  1. 面试官: 说说看, 什么是 Hook (钩子) 线程以及应用场景?

    文章首发自个人微信号: 小哈学Java 个人网站地址: https://www.exception.site/java-concurrency/java-concurrency-hook-thread ...

  2. 面试官:说说TCP和UDP的区别和应用场景

    原创文章首发于公众号:「码农富哥」,欢迎收藏和关注,如转载请注明出处! 上一篇聊完 一文彻底搞懂 TCP三次握手.四次挥手过程及原理 这次聊聊TCP和UDP的区别和场景 TCP/IP 中有两个具有代表 ...

  3. 因为我说:volatile 是轻量级的 synchronized,面试官让我回去等通知!

    因为我说:volatile 是轻量级的 synchronized,面试官让我回去等通知! volatile 是并发编程的重要组成部分,也是面试常被问到的问题之一.不要向小强那样,因为一句:volati ...

  4. 面试官:RabbitMQ怎么实现消费端限流

    哈喽!大家好,我是小奇,一位不靠谱的程序员 小奇打算以轻松幽默的对话方式来分享一些技术,如果你觉得通过小奇的文章学到了东西,那就给小奇一个赞吧 文章持续更新 一.前言 RabbitMQ有很多高级特性, ...

  5. 互联网公司的面试官是如何360°无死角考察候选人的?[z]

    [z]https://juejin.im/post/5c0e47ebf265da614e2be9a7 一.写在前面 最近收到不少读者反馈,说自己在应聘一些中大型互联网公司的Java工程师岗位时遇到了不 ...

  6. 大厂面试官:Java工程师的“十项全能”

    想要成为合格的Java程序员或工程师到底需要具备哪些专业技能,在面试之前到底需要准备哪些东西呢?面试时面试官想了解你的什么专业技能,以下都是一个合格Java软件工程师所要具备的. 一.专业技能 熟练的 ...

  7. RabbitMQ系列(六)--面试官问为什么要使用MQ,应该怎么回答

    如果简历中有写到使用过RabbitMQ或者其他的消息中间件,可能在MQ方面的第一个问题就是问:为什么要使用MQ 面试官期望的回答 1.项目中有什么业务场景需要用到MQ 2.但是用了MQ,会带来很多问题 ...

  8. 《吊打面试官》系列-Redis哨兵、持久化、主从、手撕LRU

    你知道的越多,你不知道的越多 点赞再看,养成习惯 前言 Redis在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在Redis的使用和原理方面对小伙伴们进行360°的刁难.作为一个在互联 ...

  9. 面试官问我MySQL调优,我真的是

    面试官:要不你来讲讲你们对MySQL是怎么调优的? 候选者:哇,这命题很大阿...我认为,对于开发者而言,对MySQL的调优重点一般是在「开发规范」.「数据库索引」又或者说解决线上慢查询上. 候选者: ...

随机推荐

  1. Elasticsearch 在部署时,对 Linux 的设置有哪些优化方 法?

    1.64 GB 内存的机器是非常理想的, 但是 32 GB 和 16 GB 机器也是很常见的. 少于 8 GB 会适得其反. 2.如果你要在更快的 CPUs 和更多的核心之间选择,选择更多的核心更好. ...

  2. 1.0缓存:Login.aspx?

    所有的manifest资源配置文件以CACHE MANIFEST声明开头. #(哈希标签)有助于提供缓存文件的版本. CACHE命令指定哪些文件需要被缓存. manifest资源配置文件的内容类型应是 ...

  3. vmware克隆Centos虚拟机网卡无法启动问题

    快速处理办法: cat /etc/sysconfig/network-scripts/ifcfg-eth0 sed -i '/UUID/d' /etc/sysconfig/network-script ...

  4. JavaScript中函数节流的理解

    函数节流的原理 函数节流,就是对会频繁触发的函数事件做一些限制,让这些函数可以在每隔一定的时间或者每次满足一定的条件下再触发.一般我们会给他起一个名字throttle.也就是节流的意思.一般这样的函数 ...

  5. zhilizhili-ui 荡平ie8910 还我前端清净地

    zhilizhili-ui 给大家带来一个目前最新版本的ie8方案 特色 flexbox部分功能 vw vh calc部分功能 angular1.4 todo avalon是因为无法和polyfill ...

  6. 前端工作面试HTML相关问题

    前端工作面试HTML相关问题 Q: doctype(文档类型)的作用是什么? A: 在HTML中 doctype 有两个主要目的. 对文档进行有效性验证: 它告诉用户代理和校验器这个文档是按照什么DT ...

  7. 在tomcat布置项目

    1.将项目打成war包复制到tomcat-webapps 2.修改tomcat端口号 3.指定jdk 一.找到tomcat目录/bin 文件夹下的 catalina.bat文件 二.在文件中找到 ec ...

  8. Springboot集成cache的key生成策略

    代码接上文:深度理解springboot集成redis缓存之源码解析 ## 1.使用SpEL表达式 @Cacheable(cacheNames = "emp",key = &quo ...

  9. eclipse-java-2018-09-win32-x86_64配置tomcat(内含更新eclipse,如何解决添加时找不到最新tomcat版本)

    我下的是eclipse精简版,建议下载企业版,可以省略后面的很多步骤(其中的辛酸...) 这里就是说明下载精简版的eclipse如何配置tomcat的步骤,其实还是更新eclipse的步骤 1.首先点 ...

  10. SpringBoot 入门及配置

    1.首先创建Maven文件,右键单击鼠标,others搜索Maven,点击Maven Project 2.点击下一步,打上勾下一步,输入包名和项目名称 3.第三步修改pom.xml导入Maven依赖M ...