开源搜索引擎相关资料

Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE索引擎的工作流程主要分为三步:从互联网抓取网页创建抓取网页的索引库从索引库中进行搜索。

首先需要一个能访问网络的爬虫器程序,依据URL之间的关联性自动爬行整个互联网,并对爬行过的网页进行抓取收集。当网页被收集回来后,采用 索引分析程序进行网页信息的分析,依据一定的相关度算法(如超链接算法)进行大量计算,创建倒排序的索引库。索引库建好后用户就可以通过提供的搜索界面提 交关键词进行搜索,依据特定的排序算法返回搜索结果。因此,搜索引擎并不是对互联网进行直接搜索,而是对已抓取网页索引库的搜索,这也是能快速返回搜索结 果的原因,索引在其中扮演了最为重要的角色,索引算法的效率直接影响搜索引擎的效率,是评测搜索引擎是否高效的关键因素。

网页爬行器、索引器、查询器共同构成了搜索引擎的重要组成单元,针对特定的语言,如中文、韩文等,还需要分词器进行分词,一般情况下,分词器与索引器一起使用创建特定语言的索引库。

而开放源代码的搜索引擎为用户提供了极大的透明性,开放的源代码、公开的排序算法、随意的可定制性,相比于商业搜索引擎而言,更为用户所需 要。目前,开放源代码的搜索引擎项目也有一些,主要集在中搜索引擎开发工具包与架构、Web搜索引擎、文件搜索引擎几个方面,本文概要介绍一下当前比较流 行且相对比较成熟的几个搜索引擎项目。

开源搜索引擎工具包
 

 Egothor 

Egothor是一个用Java编写的开源而高效的全文本搜索引擎。借助Java的跨平台特性,Egothor能应用于任何环境的应用,既可配置为单独的搜索引擎,又能用于你的应用作为全文检索之用。

更多Egothor信息

 Nutch 

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

更多Nutch信息

 Lucene 

Apache Lucene是一个基于Java全文搜索引擎,利用它可以轻易地为Java软件加入全文搜寻功能。Lucene的最主要工作是替文件的每一个字作索引,索 引让搜寻的效率比传统的逐字比较大大提高,Lucen提供一组解读,过滤,分析文件,编排和使用索引的API,它的强大之处除了高效和简单外,是最重要的 是使使用者可以随时应自已需要自订其功能。

更多Lucene信息

 Oxyus 

是一个纯java写的web搜索引擎。

更多Oxyus信息

 BDDBot 

BDDBot是一个简单的易于理解和使用的搜索引擎。它目前在一个文本文件(urls.txt)列出的URL中爬行,将结果保存在一个数据库中。它也支持一个简单的Web服务器,这个服务器接受来自浏览器的查询并返回响应结果。它可以方便地集成到你的Web站点中。

更多BDDBot信息

 Zilverline 

Zilverline 是一个搜索引擎,它通过web方式搜索本地硬盘或intranet上的内容。Zilverline可以从PDF, Word, Excel, Powerpoint, RTF, txt, java, CHM,zip, rar等文档中抓取它们的内容来建立摘要和索引。从本地硬盘或intranet中查找到的结果可重新再进行检索。Zilverline支持多种语言其中包 括中文。

更多Zilverline信息

 XQEngine 

XQEngine 用于XML文档的全文本搜索引擎.利用XQuery做为它的前端查询语言.它能够让你查询XML文档集合通过使用关键字的逻辑组合.有点类似于 Google与其它搜索引擎搜索HTML文档一样.XQEngine只是一个用Java开发的很紧凑的可嵌入的组件.

多XQEngine信息

 MG4J 

MG4J可以让你为大量的文档集合构建一个被压缩的全文本索引,通过使内插编码(interpolative coding)技术.

更多MG4J信息

 JXTA Search 

JXTA Search是一个分布式的搜索系统.设计用在点对点的网络与网站上.

更多JXTA Search信息

 YaCy 

YaCy基于p2p的分布式Web搜索引擎.同时也是一个Http缓存代理服务器.这个项目是构建基于p2p Web索引网络的一个新方法.它可以搜索你自己的或全局的索引,也可以Crawl自己的网页或启动分布式Crawling.

更多YaCy信息

 Red-Piranha 

Red- Piranha是一个开源搜索系统,它能够真正"学习"你所要查找的是什么.Red-Piranha可作为你桌面系统(Windows,Linux Mac)的个人搜索引擎,或企业内部网搜索引擎,或为你的网站提供搜索功能,或作为一个P2P搜索引擎,或与wiki结合作为一个知识/文档管理解决方 案,或搜索你要的RSS聚合信息,或搜索你公司的系统(包括SAP,Oracle或其它任何Database/Data source),或用于管理PDF,Word和其它文档,或作为一个提供搜索信息的WebService或为你的应用程序 (Web,Swing,SWT,Flash,Mozilla-XUL,PHP, Perlc#/.Net)提供搜索后台等等.

更多Red-Piranha信息

 LIUS 

LIUS是一个基于Jakarta Lucene项目的索引框架。LIUSLucene添加了对许多文件格式的进行索引功能如:
Ms Word,Ms Excel,Ms PowerPoint,RTF,PDF,XML,HTML,TXT,Open Office
序列和JavaBeans。针对JavaBeans的索引特别有用当我们要对数据库进行索引或刚好用户使用持久层ORM技术 如:Hibernate,JDO,Torque,TopLink进行开发时。

更多LIUS信息

 Aperture 

Aperture这个Java框架能够从各种各样的资料系统(如:文件系统、Web站点、IMAPOutlook邮箱)或存在这些系统中的文件(:文档、图片)爬取和搜索其中的全文本内容与元数据。它当前支持的文件格式如下:

  Plain text

  HTML, XHTML

  XML

  PDF (Portable Document Format)

  RTF (Rich Text Format)

  Microsoft Office: Word, Excel, Powerpoint, Visio, Publisher

  Microsoft Works

  OpenOffice 1.x: Writer, Calc, Impress, Draw

  StarOffice 6.x - 7.x+: Writer, Calc, Impress, Draw

  OpenDocument (OpenOffice 2.x, StarOffice 8.x)

  Corel WordPerfect, Quattro, Presentations

  Emails (.eml files)

更多Aperture信息

 Apache Solr 

Solr 是一个高性能,采用Java5开发,基于Lucene的全文搜索服务器。文档通过Http利用XML加到一个搜索集合中。查询该集合也是通过http收到 一个XML/JSON响应来实现。它的主要特性包括:高效、灵活的缓存功能,垂直搜索功能,高亮显示搜索结果,通过索引复制来提高可用性,提供一套强大 Data Schema来定义字段,类型和设置文本分析,提供基于Web的管理界面等。

更多Apache Solr信息

 Paoding 

Paoding中文分词是一个使用Java开发的,可结合到Lucene应用中的,为互联网、企业内部网使用的中文搜索引擎分词组件。Paoding填补了国内中文分词方面开源组件的空白,致力于此并希翼成为互联网网站首选的中文分词开源组件。 Paoding中文分词追求分词的高效率和用户良好体验。

更多Paoding信息

 Carrot2 

Carrot2 是一个开源搜索结果分类引擎。它能够自动把搜索结果组织成一些专题分类。Carrot2提供的一个架构能够从各种搜索引擎(YahooAPI GoogleAPIMSN Search APIeTools Meta. SearchAlexa Web SearchPubMedOpenSearchLucene indexSOLR)获取搜索结果。

更多Carrot2信息

 

 

 

请使用浏览器的分享功能分享到微信等