ElasticSearch起源、发展与安装

2020-04-14 09:22:46 浏览数 (1)

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
  1. 使用浏览器查看Http服务。

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

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

0 人点赞