ElasticSearch起源、发展与安装
收藏



 ElasticSearch是一个基于Lucene的搜索引擎,ElasticSearch同样是采用Java编写的。Lucene与ElasticSearch之间的关系类似于发动机与汽车。Lucene为ElasticSearch提供基础的组件支撑。那么今天大致了解一下ElasticSearch的诞生与原理。


ElasticSearch的诞生


   

ElasticSearch的创始人期初是为了能够为妻子开发一个菜谱搜索应用而接触的Lucene。之前的几篇文章提到了Lucene是一个Java编写的开源的全文检索引擎。它本身不是一个应用程序无法直接提供用户使用。同样对其他语言不友好的。那么ElastiSearch的开发者在使用过程中遇到的一系列问题。他就在Lucene的基础上对之进行不断的优化形成了自己的一套应用程序‘Compass’。

ElasticSearch初始阶段

后来它自己在工作中同样遇到了一个需要高性能,分布式的搜索服务。所以他就在‘Compass’的基础之上重新构建起了ElasticSearch。从设计之初的目标就是打造成分布式、高性能、基于JSON、Restful的易用性可易用与其他语言的独立服务。 

ElasticSearch发展阶段

围绕ElasticSearch后来成立一家公司。(Elastic公司)全面围绕ElasticSearch或者说是数据生态进行发展。该公司已经在去年上市(ESTC),上市当天暴涨。ELasticSearch当前已经可以与多种客户端进行集成Python、PHP、.NET、Java等。当前同样支持与Hadoop、Spark等大数据分析平台进行集成。
ElasticSearch衍生出一系列的开源项目。例如业内较火的ELK Stack。ELK Stack是负责数据检索服务的ElasticSearch、数据采集解析服务的Logstash和负责数据可视化服务的Kibana的简称。Logstash是由Java语言编写的,同时负责数据的采集与解析工作。会导致服务的CPU与内存资源占用过高,后来ELastic又推出采用Go语言编写的Beats家族。Filebeat、HeartBeat、WinlogBeat...


ElasticSearch的安装

   

上面大概做了一下ElasticSearch的介绍,现在我们直接进行ElasticSearch单机版安装。ElasticSearch是基于Java开发的,那么安装之前首先要保证的就是Java环境。

  1. 确保Java环境可用.

  2. 下载相关版本(我下的7.3.0)
    解压后,如果是单机环境可以直接进入目录执行 bin/elasticsearch

  3. 使用浏览器查看Http服务。

     
    ElasticSearch默认会开启两个端口,9200与9300。9200就是我们的REST API接口,可以直接基于http进行检索。


当前即可在单机环境中尝试ElasticSearch的乐趣。


⬇⬇⬇  你好,我是CainGao。一线大数据开发者,关注我一起交流场景实现  ⬇⬇⬇


官方公众号