搜索引擎 对比
Lucene,Apache Lucene是apache软件基金会的一个项目,是一个开放源代码的全文检索引擎工具包,但它并不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎(英文与德文两种西方语言)。基本可以说Lucene是当今最先进,最高效的全功能开源搜索引擎框架。而我们这里提到的Elasticsearch和solr都建立在全文搜索引擎Apache Lucene基础上的搜索引擎。
Solr 是Apache Lucene项目的开源企业搜索平台。其主要功能包括全文检索、命中标示、分面搜索、动态聚类、数据库集成,以及富文本(如Word、PDF)的处理。Solr是高度可扩展的,并提供了分布式搜索和索引复制。Solr是最流行的企业级搜索引擎,Solr4 还增加了NoSQL支持。
Elasticsearch 是第三方作者Shay Banon使用JAVA开发的,他是报着让Java程序嵌入搜索变得更容易的目的打造了自己第一个开源作品“Compass”,即“指南针”的意思。后来Shay找到了一份面对高性能分布式开发环境的新工作,因工作需要,他决定重写Compass,将它从一个库打造成了一个独立的server,并将其改名为Elasticsearch。
Sphinx 是由俄罗斯人Andrew Aksyonoff使用C++开发的一个全文检索引擎。意图为其他应用提供高速、低空间占用、高结果 相关度的全文搜索功能。Sphinx可以非常容易的与SQL数据库和脚本语言集成。当前系统内置MySQL和PostgreSQL 数据库数据源的支持,也支持从标准输入读取特定格式 的XML数据。通过修改源代码,用户可以自行增加新的数据源(例如:其他类型的DBMS 的原生支持)。
另外Elasticsearch并不仅仅是Lucene这么简单,它不但包括了全文搜索功能,还可以进行分布式实时文件存储,并将每一个字段都编入索引,使其可以被搜索。并且可以实时分析的分布式搜索引擎。另外还可以扩展到上百台服务器,处理PB级别的结构化或非结构化数据。
来源:http://www.04007.cn/article/272.html
Lucene 是一个全文检索引擎的架构;
Solr 基于Lucene的开源企业级搜索平台
Elasticsearch 基于Lucene,使用Java开发的 搜索服务,它提供了一个分布式多用户能力的全文搜索引擎
Sphinx 使用C++开发的一个全文检索引擎,可以非常容易的与SQL数据库和脚本语言集成
TODO:都进行安装使用一遍,并记录文档