Elasticsearch 权威指南(中文版)

d6nd 9年前

cover

Elasticsearch 权威指南(中文版)

阅读地址:Elasticsearch权威指南(中文版)


原书地址:Elasticsearch the definitive guide

原作者: clinton gormley,zachary tong


译者: Looly

参与翻译: iridiumcao cvvnx1 conan007ai

感谢参与翻译的小伙伴们~~

邮箱: loolly@gmail.com

微博: @路小磊


项目地址:

https://github.com/looly/elasticsearch-definitive-guide-cn

http://git.oschina.net/loolly/elasticsearch-definitive-guide-cn

阅读地址:

http://es.xiaoleilu.com/

说明

之前接触Elasticsearch只是最简单的使用,想要深入了解内部功能,借助翻译同时系统学习。由于英语比较菜,第一次翻译文档,如有不妥,欢迎提issue:

github

Elasticsearch是一个基于Apache Lucene(TM)的开源搜索引擎,无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。

但是,Lucene只是一个库。想要发挥其强大的作用,你需使用Java并要将其集成到你的应用中,Lucene的确非常复杂,你需要深入的了解检索相关知识来理解它是如何工作的。

Elasticsearch也是使用Java编写并使用Lucene来建立索引并实现搜索功能,但是它的目的是通过简单连贯的RESTful API让全文搜索变得简单并隐藏Lucene的复杂性。

不过,Elasticsearch不仅仅是Lucene和全文搜索引擎,它还提供:

  • 分布式的实时文件存储,每个字段都被索引并可被搜索
  • 实时分析的分布式搜索引擎
  • 可以扩展到上百台服务器,处理PB级结构化或非结构化数据

而且,所有的这些功能被集成到一台服务器,你的应用可以通过简单的RESTful API、各种语言的客户端甚至命令行与之交互。

上手Elasticsearch非常。它提供了许多合理的缺省值,并对初学者隐藏了复杂的搜索引擎理论。它开箱即用(安装即可使用),只需很少的学习既可在生产环境中使用。

Elasticsearch在Apache 2 license下许可使用,可以免费下载、使用和修改。

随着知识的积累,你可以根据不同的问题领域定制Elasticsearch的高级特性,这一切都是可配置的,并且配置非常灵活。


多年前,一个叫做Shay Banon的刚结婚不久的失业开发者,由于妻子要去伦敦学习厨师,他便跟着也去了。在他找工作的过程中,为了给妻子构建一个食谱的搜索引擎,他开始构建一个早起版本的Lucene。

基于Lucene工作会比较困难,所以Shay开始抽象Lucene代码以便Java程序猿可以在应用中添加搜索功能。他第一次开源这个项目时把它叫做“Compass”。

后来Shay找到一份工作,这份工作处在高性能和内存数据网格的分布式环境中,因此高性能的、实时的、分布式的搜索引擎也是理所当然需要的。然后他决定重写Compass库做为一个独立的服务叫做Elasticsearch。

第一个公开版本出现在2010年二月,在那之后Elasticsearch已经变成Github上最受欢迎的项目之一,而且已经超过300人为此项目做出贡献。公司已经围绕Elasticsearch提供了商业支持用于扩展新功能,不过Elasticsearch将永远开源且对所有人可用。