简述
Elasticsearch 是一个基于 Lucene 的搜寻服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTful web 接口。Elasticsearch 是用 Java 语言开发的,并作为 Apache 许可条款下的开放源码公布,是一种风行的企业级搜索引擎。Elasticsearch 用于云计算中,可能达到实时搜寻,稳固,牢靠,疾速,装置使用方便。官网客户端在 Java、.NET(C#)、PHP、Python、Apache Groovy、Ruby 和许多其余语言中都是可用的。依据 DB-Engines 的排名显示,Elasticsearch 是最受欢迎的企业搜索引擎,其次是 Apache Solr,也是基于 Lucene。
Es 的由来
许多年前,一个刚结婚的名叫 Shay Banon 的就业开发者,跟着他的妻子去了伦敦,他的妻子在那里学习厨师。在寻找一个赚钱的工作的时候,为了给他的妻子做一个食谱搜索引擎,他开始应用 Lucene 的一个晚期版本。
间接应用 Lucene 是很难的,因而 Shay 开始做一个形象层,Java 开发者应用它能够很简略的给他们的程序增加搜寻性能。他公布了他的第一个开源我的项目 Compass。
起初 Shay 取得了一份工作,次要是高性能,分布式环境下的内存数据网格。这个对于高性能,实时,分布式搜索引擎的需要尤为突出,他决定重写 Compass,把它变为一个独立的服务并取名 Elasticsearch。
第一个公开版本在 2010 年 2 月公布,从此以后,Elasticsearch 曾经成为了 Github 上最沉闷的我的项目之一,他领有超过 300 名 contributors(目前 736 名 contributors)。一家公司曾经开始围绕 Elasticsearch 提供商业服务,并开发新的个性,然而,Elasticsearch 将永远开源并对所有人可用。
据说,Shay 的妻子还在等着她的食谱搜索引擎…
ElasticSearch 和 Lucene 的区别
- Lucene 是 apache 软件基金会 4 jakarta 项目组的一个子项目,是一个凋谢源代码的全文检索引擎工具包,但它不是一个残缺的全文检索引擎,而是一个全文检索引擎的架构,提供了残缺的查问引擎和索引引擎,局部文本剖析引擎,它能够不便的嵌入到各种利用中实现针对利用的全文索引 / 检索性能。
- ElasticSearch 是一个基于 Lucene 的搜寻服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTful web 接口。Elasticsearch 是用 Java 开发的,并作为 Apache 许可条款下的开放源码公布,是以后风行的企业级搜索引擎。设计用于云计算中,可能达到实时搜寻,稳固,牢靠,疾速,装置使用方便。
Solr 简介
Solr 是 Apache 下的一个顶级开源我的项目,采纳 Java 开发,它是基于 Lucene 的全文搜寻服务器。Solr 提供了比 Lucene 更为丰盛的查询语言,同时实现了可配置、可扩大,并对索引、搜寻性能进行了优化
Solr 能够独立运行,运行在 Jetty、Tomcat 等这些 Servlet 容器中,Solr 索引的实现办法很简略,用 POST 办法向 Solr 服务器发送一个形容 Field 及其内容的 XML 文档,Solr 依据 xml 文档增加、删除、更新索引。Solr 搜寻只须要发送 HTTP GET 申请,而后对 Solr 返回 Xml、json 等格局的查问后果进行解析,组织页面布局。Solr 不提供构建 UI 的性能,Solr 提供了一个治理界面,通过治理界面能够查问 Solr 的配置和运行状况。
solr 是基于 lucene 开发企业级搜寻服务器,实际上就是封装了 lucene。
Solr 是一个独立的企业级搜寻应用服务器,它对外提供相似于 Web-service 的 API 接口。用户能够通过 http 申请,向搜索引擎服务器提交肯定格局的文件,生成索引;也能够通过提出查找申请,并失去返回后果。