Elasticsearch是一个基于Apache Lucene™的开源搜索引擎。无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。
之所以选择Lucene,主要就是因为它成熟,高性能,可扩展,轻量级而且功能强大
但是,Lucene只是一个库。
想要使用它,你必须使用Java来作为开发语言并将其直接集成到你的应用中,
更糟糕的是,Lucene非常复杂,你需要深入了解检索的相关知识来理解它是如何工作的。
Elasticsearch也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API 来隐藏Lucene的复杂性,从而让全文搜索变得简单。
不过,Elasticsearch不仅仅是Lucene和全文搜索,它还具备以下特点:
- 分布式的实时文件存储,每个字段都被索引并可被搜索
- 分布式的实时分析搜索引擎
- 可以扩展到上百台服务器,处理PB级结构化或非结构化数据
而且,所有的这些功能被集成到一个服务里面,你的应用可以通过简单的
RESTful API、各种语言的客户端甚至命令行与之交互。
上手Elasticsearch非常容易。它提供了许多合理的缺省值,并对初学者隐藏了复杂的搜索引擎理论。
它开箱即用(安装即可使用),只需很少的学习既可在生产环境中使用。
Elasticsearch在Apache 2 license下许可使用,可以免费下载、使用和修改。
随着你对Elasticsearch的理解加深,你可以根据不同的问题领域定制Elasticsearch的高级特性,这一切都是可配置的,并且
配置非常灵活。
Elasticsearch的创始人是一个以色列的开发者Shay Banon,听起来有点像“瞎摆弄”,但Elasticsearch就是在“瞎摆弄”中诞生的.
当时的Shay Banon是一个刚结婚不久的失业者,由于妻子要去伦敦学习厨师,他便跟着也去了。在他找工作的过
程中,为了给妻子构建一个食谱的搜索引擎,他开始用Lucene构建了一个搜索服务。
由于直接基于Lucene工作会比较困难,所以Shay开始抽象Lucene代码以便Java程序员可以在应用中添加搜索功能。他发布了他
的第一个开源项目,叫做“Compass”。
后来Shay找到一份工作,这份工作处在高性能和内存数据网格的分布式环境中,因此高性能的、实时的、分布式的搜索引擎
也是理所当然需要的。然后他决定重写Compass库使其成为一个独立的服务叫做Elasticsearch。
第一个公开版本出现在2010年2月,在那之后Elasticsearch已经成为Github上最受欢迎的项目之一,代码贡献者超过300人。
一家主营Elasticsearch的公司就此成立,他们一边提供商业支持一边开发新功能,不过Elasticsearch将永远开源且对所有人
可用。
如今,Elasticseacrh已独立上市,Shay Banon也因此 在《福布斯》全球亿万富豪排行榜留名
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)