You Know, for Search…

    但是 Lucene 只是一个框架,要充分使用它的功能,你需要使用 JAVA 作为开发语言,并且在你的程序中集成 Lucene。更糟的是,你需要深入了解相关知识才能明白它是如何运行的,Lucene 确实非常复杂。

    Elasticsearch 也是使用 Java 编写的,并且采用了 Lucene 来实现索引与搜索的功能。而且,在你使用它做全文搜索时,只需要使用简单流畅的 RESTful API 即可,并不需要了解 Lucene 背后复杂的的运行原理。

    当然 Elasticsearch 还有很多地方超越了 Lucene,它不仅可以实现全文搜索功能,还可以完成以下工作:

    Elasticsearch 的上手是非常简单的。它附带了很多非常合理的默认值,这让初学者很好地避免一上手就要面对复杂的理论。安装完成就可以马上投入使用了。不需要了解很多,你就能变得非常有生产力。

    随着学习的深入,你还可以使用 Elasticsearch 更多高级的功能。整个引擎可以很灵活地进行配置。你可以根据自身需求来定制属于你自己的 Elasticsearch。

    你可以随意下载、使用、修改 Elasticsearch。它采用 Apache 2 license 进行授权,这是当前最灵活的开源授权方式。源代码托管在 Github 之上:
    Elasticsearch 在 Apache 2 license下许可使用,可以免费下载、使用和修改。如果你愿意加入我们非常优秀的贡献者社区,请参考:Elasticsearch 贡献

    回忆时光


    多年以前,有个叫 Shay Banon 的失业开发者跟随他的新婚妻子来到了伦敦,因为他妻子将在那里学习厨艺。Shay 在寻找工作的同时,开始研究还是早期版本的 Lucene,并打算为她妻子制作一个烹饪菜谱搜索引擎。

    直接基于 Lucene 工作会比较困难,所以 Shay 开始实现一个 Lucene 之上的抽象层,这样 Java 程序员可以很方便的为他们的应用程序添加搜索功能。于是他发布了自己的第一个开源项目 “Compass”。

    后来 Shay 找到了一份工作,这份工作主要围绕在高性能与分布式内存数据存储的环境中。高性能、实时、分布式搜索引擎是必不可少的需求。因此他决定重写 Compass 库,使其成为一个独立的服务器,这便是 Elasticsearch。

    噢,对了,Shay 的妻子还在等待着她的菜谱搜索引擎。