## 简介 #### 什么是ElasticSearch ​ `ElasticSearch` 简称 `ES` ,是基于`Apache Lucene`构建的`开源搜索引擎`,是当前最流行的`企业级搜索引擎`。`Lucene本身就可以被认为迄今为止性能最好的一款开源搜索引擎工具包`,但是lucene的API相对复杂,需要深厚的搜索理论。很难集成到实际的应用中去。`ES是采用java语言编写,提供了简单易用的RestFul API,开发者可以使用其简单的RestFul API,开发相关的搜索功能,从而避免lucene的复杂性`。 #### ElasticSearch诞生 ​ 多年前,一个叫做`Shay Banon`的刚结婚不久的失业开发者,由于妻子要去伦敦学习厨师,他便跟着也去了。在他找工作的过程中,为了给妻子构建一个食谱的搜索引擎,他开始构建一个早期版本的`Lucene`。 直接基于Lucene工作会比较困难,所以`Shay`开始抽象`Lucene`代码以便Java程序员可以在应用中添加搜索功能。他发布了他的第一个开源项目,叫做“`Compass`”。 后来`Shay`找到一份工作,这份工作处在`高性能和内存数据网格的分布式环境中`,因此`高性能的、实时的、分布式的搜索引擎`也是理所当然需要的。然后他决定重写`Compass`库使其成为一个独立的服务叫做`Elasticsearch`。 第一个公开版本出现在`2010年2月`,在那之后Elasticsearch已经成为Github上`最受欢迎的项目之一,`代码贡献者超过`300`人。一家主营`Elasticsearch的公司`就此成立,他们一边提供商业支持一边开发新功能,不过`Elasticsearch将永远开源`且对所有人可用。 Shay的妻子依旧等待着她的`食谱搜索……` 目前国内大厂几乎无一不用Elasticsearch,阿里,腾讯,京东,美团 等等 .....