开源搜索引擎: 4 个与Lucene媲美的开源引擎 [复制链接]查看:3979回复:0

1#
1.  MG4J - Managing Gigabytes for Java




MG4J可以让你通过内插编码(interpolative coding)技术,为大量的文档集合构建一个被压缩的全文本索引。与Lucene 主要区别是,它提供了cluster 功能,具有更OO的设计方式。

虽然MG4J不是一个像Lucene、Egothor和Xapian那样的信息检索库,但是相信每一位搜索工程师都应该知道它,因为它对构建Java信息检索库提供了低水平的支持。

MG4J是在一本很流行的书问世之后被命名的,这本书是由 H.Witten,Alistair Moffat和Timothy所写,名字是《管理十亿字节:压缩并且索引文档和图片》。在使用他们的分布式、可容错的网页爬虫UbiCrawler收集到大量的网页数据后,它的作者需要一个软件来解析那些收集来的数据,由于这个需求,MG4J诞生了。MG4J的库提供了优化的类来处理I/O,转化索引文件的压缩等等。

2.  Terrier - Information Retrieval Platform




Terrier是一个高度灵活,高效的开源搜索引擎,易于部署在大型的文件集合。Terrier实现非常优秀的索引和搜索功能,为开发大型检索应用程序提供了一个理想的平台。

它支持多索引策略比如:multi-pass、single-pass 和 大型MapReduce索引。

3.  Lemur - Search Engine




Lemur(狐猴)系统是CMU和UMass联合推出的一个用于自然语言模型和信息检索研究的系统。在这个系统上可以实现基于自然语言模型和传统的向量空间模型以及Okapi的ad hoc或者分布式检索,可以使用结构化查询、跨语言检索、过滤、聚类等。

Lemur可以在Windows或者Unix环境下使用,因此我们可以直接在Windows下使用Lemur。但是Lemur提供了shell script文件来演示完整的使用lemur进行检索的过程,所以在Windows下需要安装cygwin来模拟Unix环境。Lemur还提供了一个 GUI程序以及用户交互的界面的CGI,Java程序可以直接看到检索的结果,需要安装Java 虚拟机,CGI程序需要Perl的解释器。

4.  Xapian - Search Engine Library




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平台,在Windows上也跑得很好。当然,并不能像Java那样“一次编译,到处可以运行”,当移植到其它平台时,一般来说是需要重新编译的。


来自: http://www.open-open.com/
分享 转发