少点代码,多点头发

本文已经收录至我的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. Elasticsearch 安装配置 外网访问 及 后台启动

    本文转自http://www.jianshu.com/p/658961f707d8 作者:咪博士 感谢咪博士分享 Elasticsearch的安装总体来说还是相当简单的,当然中间也会有些小坑.不过大家 ...

  2. 【转帖】刘备三顾茅庐,请Elasticsearch出山

    刘备三顾茅庐,请Elasticsearch出山 2019-08-08 18:31 https://www.sohu.com/a/332454886_463994?spm=smpc.author.fd- ...

  3. 打开ElasticSearch、kibana、logstash的正确方式

    作者:玩世不恭的Coder时间:2020-03-08说明:原创不易,本文为原创文章,未经允许不可转载,转载前请联系作者 打开ElasticSearch.kibana.logstash的正确方式 前言一 ...

  4. Elastic 今日在纽交所上市,股价最高暴涨122%。

    10 月 6 日,Elastic 正式在纽约证券交易所上市,股票代码为"ESTC".开盘之后股价直线拉升,最高点涨幅达122%,截止到收盘涨幅回落到94%,意味着上市第一天估值接近 ...

  5. ElasticSearch搜索数据到底有几种方式?

    Elasticsearch允许三种方式执行搜索请求: GET请求正文: curl -XGET "http://localhost:9200/app/users/_search" - ...

  6. Elasticsearch查询——布尔查询Bool Query

    Elasticsearch在2.x版本的时候把filter查询给摘掉了,因此在query dsl里面已经找不到filter query了.其实es并没有完全抛弃filter query,而是它的设计与 ...

  7. Elasticsearch索引(company)_Centos下CURL增删改

    目录 返回目录:http://www.cnblogs.com/hanyinglong/p/5464604.html 1.Elasticsearch索引说明 a. 通过上面几篇博客已经将Elastics ...

  8. Elasticsearch配置文件说明

    一.Cluster  setting Cluster indices.ttl.interval  允许设置多久过期的文件会被自动删除.默认值是60秒. indices.cache.filter.siz ...

  9. Elasticsearch问题总结

    1.ES大量做FULL GC,日志如下: [2016-12-15 14:53:21,496][WARN ][monitor.jvm ] [vsp4] [gc][old][94725][4389] du ...

随机推荐

  1. [转载] IE8+兼容小结

    本文分享下我在项目中积累的IE8+兼容性问题的解决方法.根据我的实践经验,如果你在写HTML/CSS时候是按照W3C推荐的方式写的,然后下面的几点都关注过,那么基本上很大一部分IE8+兼容性问题都OK ...

  2. MySQL命令3

    连接 mysql -u username -p 查看进程 SHOW processlist

  3. java结合email实现自动推送

    1.获取表中最后一条数据 public static String demo() throws SQLException { String sql = "select * FROM baox ...

  4. 【杂谈】Disruptor——RingBuffer问题整理(一)

    纯CAS为啥比加锁要快? 同样是修改数据,一个采用加锁的方式保证原子性,一个采用CAS的方式保证原子性. 都是能够达到目的的,但是常用的锁(例如显式的Lock和隐式的synchonized),都会把获 ...

  5. 【FreeRTOS学习03】小白都能懂的Task Management 任务管理基本概念介绍

    在FreeRTOS中,线程的术语又可以被称之为任务,或许这样更加合适,本文将介绍任务的创建/删除,任务参数的使用,以及任务优先级: 1 软实时和硬实时 硬实时系统的任务运行正确性与响应时限是紧密相关的 ...

  6. 使用 React hooks 转化 class 的一些思考

    Hooks 是 React 16.8 的新增特性.它可以让你在不编写 class 的情况下使用 state 以及其他的 React 特性. 使用 React hooks 转化 class 的一些思考 ...

  7. 第一章 Windows内核概述

    第一章 Windows内核概述 这一章节描述了Windows内核知识中最重要的几个概念,这些话题在这本书之后会有更详细的描述,那些会与当前的主题密切相关.要确保你理解这个章节的概念,因为这些概念构成了 ...

  8. JDBC01 mysql和navicat的安装

    navicat的安装 从网上下载的,详细过程,略 mysql8.0.11(win10,64)安装 1.下载 MySQL8.0 For Windows zip包下载地址:https://dev.mysq ...

  9. [hdu5312]数的拆分,数学推导

    题意:给定一个序列,a[n]=3n(n-1)+1,n>=1,求给定的m(m<=1e9)最少可以用几个a里面的数表示(可以重复) 思路:对答案分类 (1)假定答案为1,则m必定是a中的某一个 ...

  10. python 基础知识6-文件操作

    1.只读文件 #以文本打开文件'r' f = open('C:\\Users\\Administrator\\Desktop\\Python\\f.txt',mode='r',encoding='ut ...