大数据是一个包括一切的术语,指的是数据集很大很复杂,他们须要特别设计的硬件和软件工具。数据集一般是 T 或者更大级别。这些数据集从各类各样的来源建立,包括传感器,收集气象信息,公开可用的信息,如杂志、报纸、文章。还包括购买交易记录、网络日志、医疗记 录、军事侦察、视频和图像档案和大规模的电子商务等等。web
要分析这些数据须要专门的软硬件,本文介绍 7 个开源的搜索引擎适合用于大数据处理:算法
1. Apache Lucene数据库
Lucene 是apache软件基金会一个开放源代码的全文检索引擎工具包,是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎。 Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者是以此为基础创建起完整的全文检索引擎。apache
特性:api
2. Apache Solr服务器
Apache Solr (读音: SOLer) 是一个开源的搜索服务器。Solr 使用 Java 语言开发,主要基于 HTTP 和 Apache Lucene 实现。Apache Solr 中存储的资源是以 Document 为对象进行存储的。每一个文档由一系列的 Field 构成,每一个 Field 表示资源的一个属性。Solr 中的每一个 Document 须要有能惟一标识其自身的属性,默认状况下这个属性的名字是 id,在 Schema 配置文件中使用:<uniqueKey>id</uniqueKey>
进行描述。网络
3. ElasticSearch架构
Elastic Search 是一个基于Lucene构建的开源,分布式,RESTful搜索引擎。设计用于云计算中,可以达到实时搜索,稳定,可靠,快速,安装使用方便。支持经过HTTP使用JSON进行数据索引。框架
4. Sphinx分布式
Sphinx是一个基于SQL的全文检索引擎,能够结合MySQL,PostgreSQL作全文搜索,它能够提供比数据库自己更专业的搜索功能,使得应用程序更容易实现专业化的全文检索。Sphinx特别为一些脚本语言设计搜索API接口,如PHP,Python,Perl,Ruby等,同时为MySQL也设计了一个存储引擎插件。
5. Xapian
Xapian是一个用C++编写的全文检索程序,他的做用相似于Java的lucene。尽管在Java世界lucene已是标准的全文检索程序,可是C/C++世界并无相应的工具,而Xapian则填补了这个缺憾。
6. Nutch
Nutch 是一个开源Java 实现的搜索引擎。它提供了咱们运行本身的搜索引擎所需的所有工具。包括全文搜索和Web爬虫。
尽管Web搜索是漫游Internet的基本要求, 可是现有web搜索引擎的数目却在降低. 而且这颇有可能进一步演变成为一个公司垄断了几乎全部的web搜索为其谋取商业利益.这显然 不利于广大Internet用户.
Nutch为咱们提供了这样一个不一样的选择. 相对于那些商用的搜索引擎, Nutch做为开放源代码 搜索引擎将会更加透明, 从而更值得你们信赖. 如今全部主要的搜索引擎都采用私有的排序算法, 而不会解释为何一个网页会排在一个特定的位置. 除此以外, 有的搜索引擎依照网站所付的 费用, 而不是根据它们自己的价值进行排序. 与它们不一样, Nucth没有什么须要隐瞒, 也没有 动机去扭曲搜索的结果. Nutch将尽本身最大的努力为用户提供最好的搜索结果.
Nutch 致力于让每一个人能很容易, 同时花费不多就能够配置世界一流的Web搜索引擎. 为了完成这一宏伟的目标, Nutch必须可以作到:
7. LGTE
LGTE 是基于 Lucene 提供了扩展 Lucene API 用于集成不少服务,例如片断生成、查询扩展等等,并提供了一组单元测试。
特性包括: