吕琼帅,张国平
(平顶山学院 软 件学院, 河南 平 顶山 4 67000)
Lucene是Apache软件基金会项目组的子项目,是一个开放源代码的全文检索引擎工具包,即它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎、索引引擎和部分文本分析引擎。Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎。Lucene作为一个全文检索引擎,其具有索引文件格式独立于应用平台、优秀的面向对象系统架构等突出的优点。但是,Lucene索引和查询都不方便,容易受到索引文件数量的制约,这样便会影响数据库运行性能,降低检索的效率。
随着Web2.0技术的兴起,NoSQL这个概念也逐渐被人们所熟悉。NoSQL最早出现于1998年,是非关系型数据库的总称,由Carlo Strozzi开发的一个轻量、开源、不提供SQL功能的关系数据库[1]。2009年,Last.fm的Johan Oskarsson发起了一次关于分布式开源数据库的讨论,来自Rackspace的Eric Evans再次提出了NoSQL的概念[2]。目前主要的NoSQL产 品 主 要 有 MemCahe,Redis,Tokyo Tyrant,MongDB,HBase。NoSQL主要指非关系型、分布式、不提供ACID的数据库设计模式,强调Key-Value Stores和文档数据库的优点,而并不是单纯的反对RDBMS。并且NoSQL是以CAP、BASE以及最终一致性为其理论基础,是针对目前大规模数据的高并发读写,高效存储,高可用性等用户需求而出现的一种较新的数据存储机制。NoSQL之所以能够快速发展,主要依赖于用户对后台数据库的高并发读写的需求和对海量数据的高速访问的需求。基于这样一个优势,本文将非关系型数据库引入到Lucene全文检索系统中,以此来应对大规模数据的高效存储与高效检索问题。……