少点代码,多点头发

本文已经收录至我的GitHub,欢迎大家踊跃star 和 issues。

https://github.com/midou-tech/articles

从今天开始准备给大家带来全新的一系列文章,Elasticsearch系列

新系列肯定会有很多疑惑,先为大家答疑解惑,下面是今天要讲的问题

为什么写Elasticsearch系列文章?

之前在文章中也陆陆续续的提到过,龙叔是做搜索引擎的。搜索引擎技术属于商业技术,大家耳熟能详的百度搜索,Google搜索,这可都是因为把握核心搜索技术,从而诞生了商业帝国。

每个互联网大厂都想去分一杯搜索的羹,360搜索、神马、头条、搜狗搜索等等,由此可见搜索技术的商业作用和机密性了。

搜索把握用户的入口

蘑菇街的搜索引擎是一款使用C++开发、完全自研、没有开源的搜索引擎,没有开源就是不能随便写出来的。

但是现在不一样了

第一、我离职了,离开了意味着不在持有那些商业机密了,就算不讲出来我也没啥心理负担(但还是不能讲的,离职协议写的很清楚,不能泄露公司商业机密)。

第二、去新的公司还是在搜索领域,他们用Es Elasticsearch是一个开源搜索,开源的东西可以随便说,但还是不能说公司的商业数据

自己一直在搜索领域做,输出搜索相关的文章,第一个可以让自己更好的学习和总结,第二个可以让粉丝们了解到搜索这个神秘的技术,增加大家自身的核心竞争力。

后面会说到,Elasticsearch是搜索引擎,但不简单只能使用在搜索领域,他可以作用的场景非常多。

Elasticsearch是什么?

Elasticsearch 是一个分布式的开源搜索分析引擎,适用于所有类型的数据,包括文本、数字、地理空间、结构化和非结构化数据。

Elasticsearch 在 Apache Lucene 的基础上开发而成,Elasticsearch 以其简单的 REST 风格 API、分布式特性、速度和可扩展性而闻名,是 Elastic Stack 的核心组件。

Elastic Stack 是适用于数据采集、充实、存储、分析和可视化的一组开源工具。人们通常将 Elastic Stack 称为 ELK Stack(代指 Elasticsearch、Logstash 和 Kibana),目前 Elastic Stack 包括一系列丰富的轻量型数据采集代理,这些代理统称为 Beats,可用来向 Elasticsearch 发送数据。

Elasticsearch 的实现原理主要分为以下几个步骤,首先用户将数据提交到Elasticsearch 数据中心,再通过分词控制器去将对应的数据分词,将其权重和分词结果一并存入数据,当用户搜索数据时候,再根据权重将结果排名,打分,再将返回结果呈现给用户。

是什么差不多搞清楚了,再说说ES都哪些成熟的应用以及在哪些领域使用。

Elasticsearch在哪些领域使用?

  • 应用程序搜索
  • 网站搜索
  • 企业搜索
  • 日志处理和分析
  • 基础设施指标和容器监测
  • 应用程序性能监测
  • 地理空间数据分析和可视化
  • 安全分析
  • 业务分析

Elasticsearch有哪些特点?

Elasticsearch 很快。 由于 Elasticsearch 是在 Lucene 基础上构建而成的,所以在全文本搜索方面表现十分出色。Elasticsearch 同时还是一个近实时的搜索平台,这意味着从文档索引操作到文档变为可搜索状态之间的延时很短,一般只有一秒。因此,Elasticsearch 非常适用于对时间有严苛要求的用例,例如安全分析和基础设施监测。

Elasticsearch 具有分布式的本质特征。 Elasticsearch 中存储的文档分布在不同的容器中,这些容器称为分片,可以进行复制以提供数据冗余副本,以防发生硬件故障。Elasticsearch 的分布式特性使得它可以扩展至数百台(甚至数千台)服务器,并处理 PB 量级的数据。

Elasticsearch 包含一系列广泛的功能。 除了速度、可扩展性和弹性等优势以外,Elasticsearch 还有大量强大的内置功能(例如数据汇总和索引生命周期管理),可以方便用户更加高效地存储和搜索数据。

Elastic Stack 简化了数据采集、可视化和报告过程。 通过与 Beats 和 Logstash 进行集成,用户能够在向 Elasticsearch 中索引数据之前轻松地处理数据。同时,Kibana 不仅可针对 Elasticsearch 数据提供实时可视化,同时还提供 UI 以便用户快速访问应用程序性能监测 (APM)、日志和基础设施指标等数据。

学习Elasticsearch能提高哪些竞争力?

看到Elasticsearch在这么多的领域在使用,特点也这么明显。看到这里估计都不用在说什么核心竞争力,你已经意识到了。

Elastic 于 2018 年 6 月 29 日正式推出 Elastic Certified Engineer 认证考试,认证通过可以获得官方颁发的证书和徽章,title就是 Elastic认证工程师

具体认证的细节和含金量,没有具体研究过,但是可以很明显的感受到官方出了这样一个认证,表明社会需要大量这样的人才,而这方面人才的培养和考核指标还欠缺。

有没有必要一定要考这个认证?

个人觉得,和英语四六级一样,通过了再说没用。

如果你是学生,可以考虑去考一个认证,因为你很难有业务场景驱使你去做这方面的成长,认证一定是有难度的,一个一个的困难会驱使你成长,最终这个认证也会成为招聘时一个非常大的亮点。

这个认证会有哪些帮助?

  • 对于快速的构建知识体系帮助。

  • 对于全面的熟悉官方文档帮助。

  • 对于实战解决线上问题帮助。(遇到了相关技术问题基本上不需要再求助于社区,80%以上的问题自己基本就能解决。)

  • 对于增强信心、克服英文恐惧帮助。

Elasticsearch 支持哪些编程语言?

  • Java
  • JavaScript (Node.js)
  • Go
  • .NET (C#)
  • PHP
  • Perl
  • Python
  • Ruby

哪里可以找到有关 Elasticsearch 的更多信息?

我是龙叔,一个分享互联网技术和心路历程的star。

面试官问我会不会Elasticsearch,我语塞了...的更多相关文章

  1. 每日一问:面试结束时面试官问"你有什么问题需要问我呢",该如何回答?

    面试结束时面试官问"你有什么问题需要问我呢",该如何回答?

  2. 面试官问我,Redis分布式锁如何续期?懵了。

    前言 上一篇[面试官问我,使用Dubbo有没有遇到一些坑?我笑了.]之后,又有一位粉丝和我说在面试过程中被虐了.鉴于这位粉丝是之前肥朝的粉丝,而且周一又要开启新一轮的面试,为了回馈他长期以来的支持,所 ...

  3. 面试官问,说一个你在工作非常有价值的bug

    如果你去参考面试,做足了准备,面对面试官员从容不迫,吐沫横飞的大谈自己的工作经历.突然,面试官横插一句:说一个你在工作非常有价值的bug.顿时,整个空气都仿佛都凝固了!“What?”... 我想没几个 ...

  4. 面试官问:JS的this指向

    前言 面试官出很多考题,基本都会变着方式来考察this指向,看候选人对JS基础知识是否扎实.读者可以先拉到底部看总结,再谷歌(或各技术平台)搜索几篇类似文章,看笔者写的文章和别人有什么不同(欢迎在评论 ...

  5. 当面试官问你sql优化的时候。。。

    当面试官问你有关sql优化的问题时,直接拿笔写给他: 8-select 9-distinct<column_list> 1-from left_table 3-<join_type& ...

  6. 面试官问你JS基本类型时他想知道什么?

    面试的时候我们经常会被问答js的数据类型.大部分情况我们会这样回答包括:1.基本类型(值类型或者原始类型): Number.Boolean.String.NULL.Undefined以及ES6的Sym ...

  7. 面试官问线程安全的List,看完再也不怕了!

    最近在Java技术栈知识星球里面有球友问到了线程安全的 List: 扫码查看答案或加入知识星球 栈长在之前的文章<出场率比较高的一道多线程安全面试题>里面讲过 ArrayList 的不安全 ...

  8. 美团面试官问我一个字符的String.length()是多少,我说是1,面试官说你回去好好学一下吧

    本文首发于微信公众号:程序员乔戈里 public class testT { public static void main(String [] args){ String A = "hi你 ...

  9. 大厂面试官问你META-INF/spring.factories要怎么实现自动扫描、自动装配?

    大厂面试官问你META-INF/spring.factories要怎么实现自动扫描.自动装配?   很多程序员想面试进互联网大厂,但是也有很多人不知道进入大厂需要具备哪些条件,以及面试官会问哪些问题, ...

随机推荐

  1. 系统基础优化 vim

    系统基础优化 vim 1系统基础优化 (CPU-lscpu 内存-free 磁盘-df 负载-w/uptime) 1.1 系统基础优化 准备工作:如何查看系统的信息 (1)cat /etc/redha ...

  2. CSS 块元素、内联元素、内联块元素三者的区别与转换

    三种元素 块元素 内联元素 内联块元素 元素之间的转换 三种元素 元素就是标签,布局中常用的有三种标签,块元素.内联元素.内联块元素. 了解这三种元素的特性,才能熟练的进行页面布局. 块元素 块元素, ...

  3. 【Kafka】Kafka集群基础操作!新手上路必备~

    目录 bin目录 Topic命令概览 创建Topic 查看Topic 描述Topic Producer生产数据 Consumer消费数据 增加topic分区数 增加配置 删除配置 删除Topic 所有 ...

  4. Python爬虫丨大众点评数据爬虫教程(1)

    大众点评数据获取 --- 基础版本 大众点评是一款非常受普罗大众喜爱的一个第三方的美食相关的点评网站. 因此,该网站的数据也就非常有价值.优惠,评价数量,好评度等数据也就非常受数据公司的欢迎. 今天就 ...

  5. 设计模式之GOF23组合模式

    组合模式Composite 使用组合模式的场景:把部分和整体的关系用树形结构表示,从而使客户端可以使用统一的方式处理对象和整体对象(文件和文件夹) 组合模式核心: -抽象构件(Component)角色 ...

  6. 使用GitHub的API实现文件上传--李渣渣(lizaza.cn)

    最近搭建了一个自己的博客网站和一个在线图片格式转换工具,经常写博客的时候需要上传图片,在线转换工具也需要一定的空间来临时存放图片文件.服务器的存储空间又比较有限,于是就想着将图片存储的GitHub上, ...

  7. 深入理解Java虚拟机第三版,总结笔记【随时更新】

    最近一直在看<深入理解Java虚拟机>第三版,无意中发现了第三版是最近才发行的,听说讲解的JDK版本升级,新增了近50%的内容. 这种神书,看懂了,看进去了,真的看的很快,并没有想象中的晦 ...

  8. 终于明白了vue使用axios发送post请求时的坑及解决原理

    前言:在做项目的时候正好同事碰到了这个问题,问为什么用axios在发送请求的时候没有成功,请求不到数据,反而是报错了,下图就是报错请求本尊 vue里代码如下: this.$http.post('/ge ...

  9. 自定义docker的镜像

  10. 【python爬虫】解决歌荒,下歌利器

    python下载图片,mp3,想必很多人都早已耳闻,今天给大家来点不一样的, 让你下载高逼格高品质,带进度条,实时显示下载速度 详见源码:https://www.kesci.com/home/proj ...