hadoop , lucene 分布式索引方案
一、lucene介绍
Lucene是apache软件基金会4 jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包,即它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎(英文与德文两种西方语言)。Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎。
二、hadoop介绍
一个分布式系统基础架构,由Apache基金会开发。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有着高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高传输率(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求(requirements)这样可以流的形式访问(streaming access)文件系统中的数据。
三、测试环境
1、系统windows xp
2、jdk1.6
3、cgywin
4、hadoop0.20
5、lucene2.9.4
四、测试内容
1、第一种测试形式及结果
此种形式比较简单,测试成功。
2、第二种测试形式及结果
此种形式分布式抓取数据,最终合并成一个索引,上传到hadoop,执行搜索后合并成功
3、第三种测试形式及结果
此种形式比第二种形式减少了合并索引,这样搜索必须支持多索引目录联合查询,测试成功
4、第四种测试形式及结果
此种形式是直接将索引写入内存,从内存写入hadoop目录,执行联合搜索测试成功
5、第五种测试形式及结果
此种形式接入两套hadoop集群,把抓取数据与创建索引分开,测试成功