你好,游客 登录
背景:
阅读新闻

大数据处理方面的 7 个开源搜索引擎

[日期:2016-06-01] 来源:极客头条  作者: [字体: ]

  大数据是一个包括一切的术语,指的是数据集很大很复杂,他们需要特别设计的硬件和软件工具。数据集通常是 T 或者更大级别。这些数据集从各种各样的来源创建,包括传感器,收集气象信息,公开可用的信息,如杂志、报纸、文章。还包括购买交易记录、网络日志、医疗记录、军事侦察、视频和图像档案和大规模的电子商务等等。

大数据

  要分析这些数据需要专门的软硬件,本文介绍 7 个开源的搜索引擎适合用于大数据处理

  Apache Lucene

  Lucene 是apache软件基金会一个开放源代码的全文检索引擎工具包,是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎。 Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎。

  特性:

  索引过程:

  在现在流行的硬件平台上每个小时可处理超过 150GB 的数据

  内存占用小,只需 1MB 的堆内存

  增量索引和批量索引速度一样快

  索引大小约为文本索引的 20-30% 大小

  静态索引修剪

  搜索算法:

  范围搜索 - 优先返回最佳结果

  很多强大的查询类型:短语查询、通配符查询、近似查询、范围查询等

  可单独针对某个字段查询

  可单独根据某个字段排序

  多索引搜索并合并搜索结果

  允许同步更新索引和搜索

  灵活的门面搜索、高亮显示、结果集的联合和分组

  快速,低内存占用和容错

  可插入式排名模型,包括 VSM 和 Okapi MB25

  可配置的存储引擎

  跨平台解决方案

  100% 纯 Java

  其他语言提供索引兼容的实现

  Apache Solr

  Apache Solr (读音: SOLer) 是一个开源的搜索服务器。Solr 使用 Java 语言开发,主要基于 HTTP 和 Apache Lucene 实现。Apache Solr 中存储的资源是以 Document 为对象进行存储的。每个文档由一系列的 Field 构成,每个 Field 表示资源的一个属性。Solr 中的每个 Document 需要有能唯一标识其自身的属性,默认情况下这个属性的名字是 id,在 Schema 配置文件中使用:id进行描述。

  ElasticSearch

  Elastic Search 是一个基于Lucene构建的开源,分布式,RESTful搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。支持通过HTTP使用JSON进行数据索引。

  Sphinx

  Sphinx是一个基于SQL的全文检索引擎,可以结合MySQL,PostgreSQL做全文搜索,它可以提供比数据库本身更专业的搜索功能,使得应用程序更容易实现专业化的全文检索。Sphinx特别为一些脚本语言设计搜索API接口,如PHP,Python,Perl,Ruby等,同时为MySQL也设计了一个存储引擎插件。

  Xapian

  Xapian是一个用C++编写的全文检索程序,他的作用类似于Java的lucene。尽管在Java世界lucene已经是标准的全文检索程序,但是C/C++世界并没有相应的工具,而Xapian则填补了这个缺憾。

  Nutch

  Nutch 是一个开源Java 实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具。包括全文搜索和Web爬虫。

  尽管Web搜索是漫游Internet的基本要求, 但是现有web搜索引擎的数目却在下降. 并且这很有可能进一步演变成为一个公司垄断了几乎所有的web搜索为其谋取商业利益.这显然 不利于广大Internet用户.

  Nutch为我们提供了这样一个不同的选择. 相对于那些商用的搜索引擎, Nutch作为开放源代码 搜索引擎将会更加透明, 从而更值得大家信赖. 现在所有主要的搜索引擎都采用私有的排序算法, 而不会解释为什么一个网页会排在一个特定的位置. 除此之外, 有的搜索引擎依照网站所付的 费用, 而不是根据它们本身的价值进行排序. 与它们不同, Nucth没有什么需要隐瞒, 也没有 动机去扭曲搜索的结果. Nutch将尽自己最大的努力为用户提供最好的搜索结果.

  Nutch 致力于让每个人能很容易, 同时花费很少就可以配置世界一流的Web搜索引擎. 为了完成这一宏伟的目标, Nutch必须能够做到:

  每个月取几十亿网页

  为这些网页维护一个索引

  对索引文件进行每秒上千次的搜索

  提供高质量的搜索结果

  以最小的成本运作

  LGTE

  LGTE 是基于 Lucene 提供了扩展 Lucene API 用于集成很多服务,例如片段生成、查询扩展等等,并提供了一组单元测试。

  特性包括:

  提供了简单和高效的 Lucene API 的抽象层

  在主题、时间和地理方面支持集成检索和排序的依据

  支持 Lucene 标准的检索模型,提供更高级的概率检索方法

  支持 Rochio 查询扩展

  提供了用于 IR 仿真体验的框架 (例如处理 CLEF/TREC 主题)

  包含 trec_eval 工具的 Java 替换版

  包含一个简单的测试应用,用来搜索 Braun Corpus 或 Cranfield Corpus

  TREC/CLEF 仿真框架 - 集合索引的工具,运行主题搜索并使用 treckeval 格式输出结果

  使用不同文件夹提供隔离字段

  通过外键字段提供层次化的索引

 

  提供用于使用 Yahoo PlaceMaker 解析文档的类





收藏 推荐 打印 | 录入:elainebo | 阅读:
本文评论    (0)
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款