java开源搜索引擎分类

本文转摘自:http://www.open-open.com/32.htm

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

2、Nutch

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

3、Lucene

Apache Lucene是一个基于Java全文搜索引擎,利用它可以轻易地为Java软件加入全文搜寻功能。Lucene的最主要工作是替文件的每一个字作索引,索引让搜寻的效率比传统的逐字比较大大提高,Lucen提供一组解读,过滤,分析文件,编排和使用索引的API,它的强大之处除了高效和简单外,是最重要的是使使用者可以随时应自已需要自订其功能。 Lucene中文分词“庖丁解牛” Paoding Analysis Paoding's Knives中文分词具有极高效率和高扩展性。引入隐喻,采用完全的面向对象设计,构思先进。高效率:在PIII 1G内存个人机器上,1秒可准确分词100万汉字。采用基于不限制个数的词典文件对文章进行有效切分,使能够将对词汇分类定义。能够对未知的词汇进行合理解析。

4、Oxyus

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


5、BDDBot

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

6、Zilverline

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


7、XQEngine

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

8、MG4J

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

9、JXTA Search

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

10、YaCy

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

11、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, Perl或c#/.Net)提供搜索后台等等. 


12、LIUS

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


13、Aperture

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

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)  

14Apache Solr

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

15、Carrot2

Carrot2是一个开源搜索结果分类引擎。它能够自动把搜索结果组织成一些专题分类。Carrot2提供的一个架构能够从各种搜索引擎(YahooAPI、GoogleAPI、MSN Search API、eTools Meta Search、Alexa Web Search、PubMed、OpenSearch、Lucene index、SOLR)获取搜索结果。 

16、Regain

Regain是一个基于Jakarta Lucene封装的搜索引擎。它能够索引和查询多种格式的文件(当前支持的格式包括:HTML、XML、Excel、Powerpoint、Word、PDF和RTF)。此外它还提供一个标签库以便易于将搜索结果展示在JSP页面中。 

17、Hounder

Hounder是一个完善的搜索系统,Hounder只会检索那些出现在互联网上的文档,并通过一个简单的网页来展示搜索结果。能够完美与其它项目相结合。它在各方面的设计都是规模级的包括:索引网页的数量,检索速度,查询并发数。它已经成功应用在多个大型搜索系统中。 

18、中文分词器 IKAnalyzer

IKAnalyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包。从2006年12月推出1.0版开始,IKAnalyzer已经推出了3个大版本。最初,它是以开源项目Luence为应用主体的,结合词典分词和文法分析算法的中文分词组件。新版本的IKAnalyzer3.0则发展为面向Java的公用分词组件,独立于Lucene项目,同时提供了对Lucene的默认优化实现。
IKAnalyzer3.0特性:
采用了特有的“正向迭代最细粒度切分算法“,具有50万字/秒的高速处理能力。
采用了多子处理器分析模式,支持:英文字母(IP地址、Email、URL)、数字(日期,常用中文数量词,罗马数字,科学计数法),中文词汇(姓名、地名处理)等分词处理。
优化的词典存储,更小的内存占用。支持用户词典扩展定义
针对Lucene全文检索优化的查询分析器IKQueryParser(作者吐血推荐);采用歧义分析算法优化查询关键字的搜索排列组合,能极大的提高Lucene检索的命中率。 

19、Mustru

Mustru是一个桌面搜索引擎,基于Lucene、Wordnet、Lingpipe、GATE和Berkeley DB等开源项目开发。能够对本地文件系统的多个目录进行索引,然后使用一个Web界面查询该索引。Mustru提供的功能包括:
从HTML、PDF和DOC等40多种常见的文件类型文件中抽取文本。
检查重复的内容。
使用GATE找出文本中的一些实体(人,地名和组织/机构)。
支持多线程索引、归类和实体抽取。
能够修复和恢复索引文件。
找出相似的文档。
支持接受用自然语言提问,然后返回相应答案列表。
使用一个预先定义好的分类法将文本内容归类成体育、商业、健康等领域。 

20、Open Search Server

Open Search Server是一个稳定、高性能的搜索引擎和一个全文搜索算法套件。可以用10种语言对文档进行索引。多语言分析器将句子切成词,然后基于文档的语言将lemmatisation算法运用在词语之上。支持多种文档格式包括:XML、HTML、PDF、Word和PowerPoint等。它还拥有一个基于Zkoss框架开发的Web操作界面。 

21、Nut

Nut只为lucene提供分布式搜索框架。理论上可对千G以上索引文件支持数千万级的用户搜索访问。Nut由Client、Server、Cache和DB四部分构成。Client处理用户请求和对搜索结果排序。Server对请求进行搜索,Server上只放索引,数据存储在DB中,Nut将索引和存储分离。Cache缓存的是搜索条件和结果文档id。DB存储着数据,Client根据搜索排序结果,取出当前页中的文档id从DB上读取数据。 


22、ElasticSearch

ElasticSearch是一个基于Lucene构建的开源,分布式,RESTful搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。支持通过HTTP使用JSON进行数据索引。
收录时间:2010-10-09 11:07:48 

  22、Bobo bobo-browse

Bobo bobo-browse是一用java写的lucene扩展组件,通过它可以很方便在lucene上实现分组统计功能。比如说搜索电脑,可以得到cpu是intel的有几条命中记录,cpu是amd的有几条命中记录。 

23、HSearch

HSearch是一个基于Hadoop和HBase开发的开源NoSQL搜索引擎。HSearch提供的特性包括:
* 多种文档格式支持
* 记录和文档级搜索访问控制
* 持续索引更新
* 使用多台机器并行索引
* 可嵌入到应用程序中使用
* 一个支持XML的REST-ful Web Service网关
*自动分片
*自动复制 

24、Constellio

Constellio是一个开源的企业搜索引擎基于Apache Solr实现,并用到了Google Search Appliances connectors架构。利用Constellio只要单击一下就能够可以搜索出你企业所有相关的内容包括网站、邮箱、ECM, CRM。它支持超过15种语言的多语言搜索,支持文档自动分类,为文档添加标签和关键字。可以通过连接器为索引库定制数据来源,连接器可以扩展。默认提供了数据库、邮件、网页、邮件的连接器。因为是基于solr做的,所以solr中的层面搜索、同义词等也都在。支持定时通过连接器抓取数据,支持对索引字段的配置。支持opensearch。支持用户和组管理。支持对数据类型定制,这个功能应该是通过可视化界面去修改solr的scheme文件。支持切词器、过滤器、缓存管理。 此外它还开发多种编程语言的API包括:Ruby、PHP、Java、Python、JSon、C#、ColdFusion。 

25、DocSearcher

DocSearcher是一个文档全文搜索工具,采用Lucene,POI Apache APIs以及PDF Box API等Java开源项目开发。能够搜索HTML、MS Word、MS Excel、RTF、PDF、Open Office (Star Office)、和 Text文档。 

26、起点R3企业级搜索引擎  

起点R3企业级搜索引擎是起点软件提供的企业搜索解决方案,支持企业环境下的数据访问控制(ACL),能够通过定义用户数据访问权限来控制检索数据的安全。
   R3是一个强大的,高性能的JAVA企业级搜索引擎产品,R3构建于Solr和Lucene之上,集成了POI、PDFBox和Apache Tika等第三方开源项目,在R3企业级搜索平台上,你可以搜索出你企业所有相关的内容包括网站、邮箱、ECM, CRM。R3使用一中新的集群模式来实现分布式和集群功能,通过扩展计算能力,R3能够支持上千G文档,完成复杂的并行运算;R3能够以集群模式运行来提高系统的可用性。它支持超过15种语言的多语言搜索,能够集成文档自动分类和聚类功能,能够为文档自动、智能的添加标签和关键字。可以通过采集器为索引库定制数据来源,采集器通过插件的方式扩展。默认提供数据库、邮件、本地文件系统、网络文件系统、FTP、Domino、CSV、Access的采集器。R3基于Solr之上,所以在Solr中的层面搜索、同义词等都被完整的保留了下来。R3通过作业调度系统实现了任务的自动化采集、能够增量索引,支持数据更新,能够通过可视化的方式对索引字段进行管理。R3具备用户和用户组管理,R3可以对数据类型定制,支持分词器、过滤器、缓存管理。R3能够很容易的集成Hadoop和HBase。此外它还开发多种编程语言的API包括:Ruby、PHP、Java、Python、JSon、C#、ColdFusion。 

27、代码搜索引擎 i.So.Code 北京大学Asseters小组开发的新一代代码搜索引擎。
目前iSoCode可以检索大约200个优秀(是真的优秀的~)的开源项目,包括jdk、Lucene、log4j、jdom、commons- lang、commons-cli等一大批大家经常用到的开源项目在iSoCode中都可以找到,而且可以直接从iSoCode上下载项目源码、jar包 以及javadoc。
iSoCode的另外一大亮点是它可以同时帮你检索你想要的API的具体实现细节、使用的实例、javadoc文档以及在CSDN和百度上关于这个API的讨论内容等四大方面的信息!这么做可以再很多情况下免去了在百度上检索再去找源代码的繁琐细节。 

28、Katta

Katta分布式Lucene Katta是一个可扩展的、高容错性、准实时的分布式搜索引擎。 具有索引复制的功能,会对索引进行分片处理,让索引分散到多个节点上,执行分布式检索。
它能很好的运行在由许多廉价服务器组成的大型集群之上,跟Hadoop MapReduce, Hadoop DFS, HBase, Bigtable or Hypertable类似。
支持不同格式的索引文件,但是目前只实现了lucene索引文件和hadoop mapfiles的读写。

* 能轻松的构建处理海量数据的高负载系统
* 索引文件(lucene索引或者hadoop mapfiles)的分片处理,分散到许多台服务器上。
* 多台服务器之间的索引自动复制,高性能和高容错性的特点
* 可插拔的网络拓扑(新增服务器或者移除服务)
* Master故障切换
* 快速的、轻量级的、非常容易整合
* 能很好的在hadoop集群上 

29、Zoie

Zoie是一个构建在Apache Lucene之上的实时搜索和索引系统。其需要逻辑上独立的索引和搜索子系统相对紧密的结合在一起,从而使得一篇文档一经索引,就能够立刻被搜索的到。

ZoieSystem是Zoie的重要组成部分,其一方面通过实现DataConsumer接口而完成了索引功能,一方面通过实现 IndexReaderFactory>而完成了搜索功能,并将二者紧密的结合在一起。ZoieSystem:这个类是对外的核心类,它提供了诸多方法供外界使用,但它本身就像个Facade,封装了其成员的一系列方法。

30、Solandra

Solandra是一个实时分布式搜索引擎,基于 Apache SolrApache Cassandra构建。其核心,Solandra是Solr与Cassandra的一个紧密集成。这意味着Solr与Cassandra将在单个JVM中同时运行,文档(Documents)采用Cassandra的数据模型进行存储和分发。特性包括:
1、提供开箱即用的Solr功能包括:搜索、faceting、高亮等。
2、通过Cassandra管理复制,分片,缓存和压缩。
3、Multi-master (可以读写到任何节点)。
4、能够很方便添加新的SolrCores并且不需要重新启动整个集群。

 

猜你喜欢

转载自cnhnslhs-163-com.iteye.com/blog/1631209