4个能够与Lucene相媲美的开源搜索引擎

jopen 10年前

MG4J - Managing Gigabytes for Java

4个能够与Lucene相媲美的开源搜索引擎

MG4J可以让你为大量的文档集合构建一个被压缩的全文本索引,通过使内插编码(interpolative coding)技术。与Lucene 主要区别是,它提供了cluster 功能,具有更OO的设计方式。虽然MG4J(Managing Gigabytes for Java)不是一个像Lucene、Egothor和Xapian那样的信息检索库,但是我们相信正在读这本书的每一位软件工程师都应该知道它,因为它对构建Java信息检索库提供了低水平的支持。MG4J是在一本很流行的书问世之后被命名的,这本书是由 H.Witten,Alistair Moffat和Timothy所写,名字是《管理十亿字节:压缩并且索引文档和图片》。在使用他们的分布式、可容错的网页爬虫UbiCrawler收集到大量的网页数据后,它的作者需要一个软件来解析那些收集来的数据,由于这个需求,MG4J诞生了。 MG4J的库提供了优化的类来处理I/O,转化索引文件的压缩等等。

Terrier - Information Retrieval Platform

4个能够与Lucene相媲美的开源搜索引擎
Terrier是一个高度灵活,高效的开源搜索引擎, 易于部署在大型的文件集合。Terrier实现非常优秀的索引和搜索功能,为开发大型检索应用程序提供了一个理想的平台。它支持多索引策略比如:multi-pass, single-pass 和 大型MapReduce索引。

Lemur - Search Engine

4个能够与Lucene相媲美的开源搜索引擎
Lemur(狐猴)系统是CMU和UMass联合推出的一个用于自然语言模型和信息检索研究的系统。在这个系统上可以实现基于自然语言模型和传统的向量空 间模型以及Okapi的ad hoc或者分布式检索,可以使用结构化查询,跨语言检索,过滤,聚类等等。目前最新的版本是3.0,CMU和UMass在9月将推出新的版本 Indri(大狐猴),将加入支持terabyte(1000G就是1T)的数据库和结构化的文档查询(比如将html文档解析为不同的doc representation方式,利用html文档的结构表达方式信息tag, title, meta等)。
运行Lemur需要什么?Lemur可以在windows或者Unix环境下使用,因此我们可以直接在windows下使用lemur。但是lemur提 供了shell script文件来演示完整的使用lemur进行检索的过程,所以在windows下需要安装cygwin来模拟Unix环境。Lemur还提供了一个 GUI程序以及用户交互的界面的CGI,其中有Java程序可以直接看到检索的结果,,因此需要安装Java 虚拟机,CGI程序需要Perl的解释器

Xapian - Search Engine Library

4个能够与Lucene相媲美的开源搜索引擎

Xapian由C++编写,但可以绑定到Perl, Python, PHP, Java, Tcl, C# 和Ruby甚至更多的语言,Xapian可以说是STL编程的典范,在这里您可以找到熟悉的引用计数型智能指针、容器和迭代器,甚至连命名也跟STL相似,相信一定能引起喜好C++++和STL的你的共鸣(实际上,很少C++++程序员完全不使用STL)。由于Xapian使用的是STL和C运行时库,因此具有高度可移值性,官方说法是可以运行在Linux、 Mac OS X、 FreeBSD、 NetBSD、 OpenBSD、Solaris,、HP-UX,、Tru64和IRIX,,甚至其它的Unix平台,在Microsoft Windows上也跑得很好。当然,并不能像Java那样“一次编译,到处可以运行”,当移植到其它平台时,一般来说是需要重新编译的。

</p>