杨哥聊Elasticsearch

Elasticsearch是当前比较流行的开源的分布式搜索和数据分析引擎,具备易使用、高性能、扩展性强等特点。是ElasticStack的核心组件,以其为核心构建的ELK,已经是日志分析领域的事实标准。Elasticsearch是怎么一步一步发展成熟的呢?
You Know,for Search

1998年9月4日, Google公司在美国硅谷成立,正如大家所知,和百度一样,它是一家做搜索引擎的公司

无独有偶,有一位叫Doug Cutting的美国工程师,也迷上了搜索引擎。他做了一个用于文本搜索的函数库,命名为lucene


Lucene是用JAVA写成的,目标是为各种小型应用软件加入全文检索功能,因为好用而且开源,非常受程序员们的欢迎

早期的时候,这个项目被发布在Doug Cutting的个人网站和SourceForge上,后来,2001年底Lucene成为Apache软件基金会jakarta项目的一个子项目

2004年,Doug Cutting再接再励,在Lucene的基础上,和Apache开源伙伴Mike Cafarella合作,开发了一款可以代替当时的主流搜索的开源搜索引擎,命命为Nutch

Nutch是一个建立在Lucene核心之上的网页搜索应用程序,可以下载下来直接使用,它在Lucene的基础上加了网络爬虫和一些网页相关的功能,目的就是从一个简单的站内检索推广到全球网络的搜索上,就像Google一样。

Nutch在业界的影响力比Lucene更大。

大量的网站采用了Nutch平中,大大降氏了技术门槛,使低成本的普通计算机取代高价的web服务器成为可能,甚至有一段时间,在硅谷有了一股用Nutch低成本创业的潮流。

随着时间的推移,无论是Google还是Nutch,都面临搜索对象“体积”不断增大的问题。
尤其是Google,作为互联网搜索引擎,需要存储大量的网页,并不断优化自已的搜索算法,提升搜索效率。

在这个过程中,Google确实找到了不少好办法,并且无私的分亨了出来。

2003年,Google发表了一篇技术学术论文,公开介绍了自已的谷歌文件系统GFS(Google File System)。这是Google公司为了存储海量搜索数据而设计的专用文件系统。
第二年,也就是2004年,Goug Cutting基于Google的GFS论文,实现了分布式文件存储系统,并将它命名为NDFS(Nutch Distributed File System )。

200年,Google又发表了一篇技术学术论文,介绍自已的MapReduce编程模型,用于大规模数据集(大于1TB)的并行分析运算
第二年,2005年,Doug Cutting 又基于MapReduce, 在Nutch搜索引擎实现了该功能。

2006年,当时依然很厉害的Yahoo公司,招安了Doug Cutting

加盟Yahoo之后,Doug Cutting 将NDFS和MapReduce进行了升及改造,并重新命名为Hadoop (NDFS也改名为HDFS, Hadoop Distributed File System)

这个,就是后来大名鼎鼎的大数据框架系统 ------Hadoop的由来。而Doug Cutting,则被人们称之为 Hadoop之父。


Hadoop 这个名字,实际上是Doug Cutting他的儿子的黄色玩具大象的名字。所以,Hadoop的Logo,就早一只奔跑的黄色的大象。

还是2006年,Google又发表了论文了。

这次,它们介绍了自已的bigtable。这是一种分布式数据存储系统,一种用来处理海量数据的非关系型数据库。

Doug Cutting 当然没放过, 在自已的Hadoop系统里面,引入了BigTable,并命名为HBase。


好吧,反下是紧跟Google时代的步伐,google出什么,就用什么。

所以,Hadoop 的核心部分,基本上都有Google的影子。

2008年1月,Hadoop成功上位,正式成为apache基金会的顶级项目。
同年2月,Yahoo宣布建成了一个拥有1万个内核的Hadoop集群,并将自已的搜索引擎产品部署在上面。

7月,Hadoop打破世界记录,成为最快排序1TB数据的系统,用时209秒

Lucene是一套信息检索工具包!jar包,不包含搜索引擎系统!

包含: 索引结构,读写索引的工具!排序,搜索规则…工具类!

Lucene 和ElasticSearch

ElasticSearch 是基于Lucene 做了一些封装和增强(我们上手十分简单!)

只要学不死,就往死里学!技多不压身

Elasticsearch 是一个非常强大的搜索引擎。它目前被广泛地使用于各个 IT 公司。

Elasticsearch 的官网地址是:https://www.elastic.co/cn/

Elasticsearch 是由 Elastic 公司创建。它的代码位于 GitHub - elastic/elasticsearch: Free and Open, Distributed, RESTful Search Engine。

Elasticsearch 是一个免费及开放(free and open)的项目。同时,Elastic 公司也拥有 Logstash 及 Kibana 开源项目。这个三个项目组合在一起,就形成了 ELK 软件栈。他们三个共同形成了一个强大的生态圈。简单地说,Logstash 负责数据的采集,处理(丰富数据,数据转换等),Kibana 负责数据展示,分析,管理,监督及应用。Elasticsearch 处于最核心的位置,它可以帮我们对数据进行快速地搜索及分析。

Elasticsearch 源于一个食谱的应用

多年前,一个叫做Shay Banon的刚结婚不久的失业开发者,由于妻子要去伦敦学习厨师,他便跟着也去了。在他找工作的过程中,为了给妻子构建一个食谱的搜索引擎,他开始构建一个早期版本的Lucene。
直接基于Lucene工作会比较困难,所以Shay开始抽象Lucene代码以便Java程序员可以在应用中添加搜索功能。他发布了他的第一个开源项目,叫做“Compass”。

后来Shay找到一份工作,这份工作处在高性能和内存数据网格的分布式环境中,因此高性能的、实时的、分布式的搜索引擎也是理所当然需要的。然后他决定重写Compass库使其成为一个独立的服务叫做Elasticsearch。
第一个公开版本出现在2010年2月,在那之后Elasticsearch已经成为Github上最受欢迎的项目之一,代码贡献者超过300人。一家主营Elasticsearch的公司就此成立,他们一边提供商业支持一边开发新功能,不过Elasticsearch将永远开源且对所有人可用。

Shay的妻子依旧等待着她的食谱搜索……

第一个公开版本出现在 2010 年 2 月,在那之后 Elasticsearch 已经成为 Github 上最受欢迎的项目之一

Elasticsearch的更新是比较快,版本不断的变化,当然我们学习和使用的话最好选择官方的最新版

如果需要了解如何安装elasticsearch请看:

Centos7.9安装最新版ElasticSearch8.1.3图文教程

如果对您有帮助,麻烦帮点个赞,谢谢!

Elasticsearch概述相关推荐

  1. Elasticsearch概述、ES概念、什么是搜索、全文检索、Elasticsearch功能,什么是distributed document store(来自网络+学习资料)

    1.Elasticsearch概述 Elasticsearch是一个分布式.高性能.高可用.可伸缩的搜索和分析系统. 以下是来自百度的介绍: ElasticSearch是一个基于Lucene的搜索服务 ...

  2. ElasticSearch概述和定义

    ElasticSearch 全文检索- ElasticSearch概述 ElasticSearch 产生背景 (1)海量数据组合条件查询 (2)毫秒级或者秒级返回数据 这两个很简单,不多说. Elas ...

  3. 拾忆Elasticsearch01:Elasticsearch概述及相关ES、IK分词器等下载安装

    为了防止老年痴呆记不住学过的Elasticsearch,在这里写点blog回顾一下 写在前面,建议下载以下出现的Elasticsearch版本,我之前下的7.6.1在这里找不到对应的springboo ...

  4. ElasticSearch概述及安装

    概述 ElasticSearch,简称es,es是一个开源的高扩展的分布式全文检索引擎,他可以实现近乎实时的存储.检索数据,它可以让你以前所未有的速度处理大数据成为可能,本身扩展性很好,可以扩展到上百 ...

  5. ElasticSearch概述(一)——简介

    文章目录 基本介绍 Elastic 介绍 ElasticStack 常规搜索的弊端 全文搜索引擎: Elasticsearch和Solr之间如何选择? ES 的优点 ES 案例 基本介绍 Elasti ...

  6. 如何用elasticsearch构架亿级数据采集系统(第1集:elasticsearch概述)

    elasticsearch 是一个全文搜索引擎,近年来随着 ELK(基于elasticsearch 的日志分析系统)的流行,逐渐被大家所认可.elasticsearch 是一个基于Lucene 的搜索 ...

  7. Elasticsearch——1:Elasticsearch 概述

    一,什么是 Elasticsearch (一)Elasticsearch 按照Elasticsearch官网的说法: Elasticsearch 是一个分布式.RESTful 风格的搜索和数据分析引擎 ...

  8. ELasticSearch——ElasticScarch 概述及安装(v7.8)

    ELasticSearch--ElasticScarch 概述及安装 1.Elastic Stack 简介 早期 Elastic Stack 名为 ELK,对应Elasticsearch,Logsta ...

  9. Day121.ElasticSearch:概述、安装、基本操作、DSL高级查询

    目录 一.ElasticSearch概述 2.倒排索引 3.ElasticSearch 核心概念 ★ (一) ElasticSearch | 相关工具安装 (Windows) 2.kibana7.8 ...

最新文章

  1. 系统启动过程Linux
  2. 2017-1-11 css3布局
  3. python 高斯烟羽模型_GPR(高斯过程回归)详细推导
  4. IT从业者(程序员等)之强身健体-武术
  5. Hibernate的复合主键映射
  6. java调优方法,jvm监控工具
  7. [转]2006年十二星座运程 目录
  8. html5 coverflow,使用FancyCoverFlow实现3D无限循环切换视图
  9. dockerfile如何运行镜像内的脚本_第七章 Dockerfile文件解析(一)
  10. Flutter基础—常用控件之容器
  11. postgis/postsql 导入dem栅格数据到数据库
  12. 七周成为数据分析师 第一周:数据分析思维
  13. 前端开发思路-1.1
  14. 道破产品迷局--识别合格ToB产品经理
  15. 群晖docker中安装VS code
  16. 9--《Method and apparatus for providing an e-bussiness audit trail in a distribu》
  17. factorial of n
  18. anemometer mysql5.6_slowlog分析anemometer平台搭建
  19. 第二章 为Encog获取数据
  20. 密钥分配方案简述 集中式和分布式

热门文章

  1. 关于 RenderControl 的问题
  2. ADUM1400CRWZ-RL四通道数字隔离器ADI 4/0通道定向性
  3. Fail to load response data :No content available for preflight request 加载响应数据失败:请求没有可用内容
  4. 如何通过JoinQuant实现一个最简单的策略?
  5. 如何使用css3实现图片倒影效果
  6. 计算机网络端口聚合实验,《计算机网络实验报告》5_端口聚合实验.pdf
  7. 使用DelphiX显示图片并把图片作为背景
  8. 简介PHP OOP几种设计模式
  9. 计算机网络技术(七)——网络管理技术
  10. 【STM32】STM32 SDIO SD卡读写测试(四)-- SD_Test之Transfer Mode阶段