RSS
热门关键字:  数据挖掘  人工智能  数据仓库  搜索引擎  数据挖掘导论

结论与注解

来源: 作者:unkonwn 时间:2004-12-06 点击:

结论
 
本文深入细致的分析了开放源代码全文检索系统Lucene的系统结构、索引文件格式和源码的部分实现,介绍了在Lucene系统下面的应用和一个用C++语言重写的全文检索系统cLucene。全文通过图表和文字说明结合的方式,理清了Lucene的系统结构关系,揭示了其运行时的数据流程,总结了其索引文件格式,并且从有助于理解源代码的角度宏观的分析了索引核心部分的源代码实现。
 
在分析Lucene系统的同时,本文作者及同在项目组的同学共同进行了cLucene系统的开发工作,以C++语言实现了一个兼容Lucene索引文件格式的新的全文检索系统。这个系统的目的旨在通过C++语言使之能够在更多范围内应用以及提高其运行的效率。由于时间的关系,这个项目并没有完成,还需要继续的开发。
 
 
 
注解:
[1] WWW Word Wide Web的缩写词,但是此处指应用程序具有被web访问的能力。
[2] XML Extensible Markup Language(可扩展标记语言)的缩写,这里指一种文件的存储结构,关于XML的更多信息见http://www.w3c.org/xml
[3] HTML Hypertext Markup Language(超文本标记语言)的缩写,这里也是指一种文件的存储结构,关于HTML的更多信息见http://www.w3c.org/MarkUp
[4] apache软件基金会:著名的开放源代码组织,开发了Apache Web服务器、Ant编译工具等等著名程序,jakarta项目组是其下面一个大的子项目组,主要用java语言开发开放源代码软件,更多信息可见http://www.apache.orghttp://jakarta.apache.org
[5] 开放源代码:英文为Open Source,自70年代开始由自由软件基金会(Free Software Foundation)倡导而迅速流行于互联网络的软件开发和授权方式,最大的特点是在用户遵守一定协议的情况下软件源代码开放,更多信息可见http://www.opensource.org/
[6] V-Twin搜索引擎AppleCopland操作系统的成就之一,作为Apple操作系统内建的检索引擎存在
[7] Excite :这里指搜索引擎提供商Excite公司,互联网上的最早的搜索引擎之一,更多信息可见http://www.excite.com/
[8] SourceForge 互联网上最大的网上开发平台,提供CVS等各种开发者服务,是大量开放源代码软件的发布地,更多信息可见http://www.sourcefoege.net
[9] eclipse IBM公司所主创地一个开放源代码的集成开发工具,用java实现,在2.1版本中开始使用Lucene作为索引引擎,更多信息可见http://www.eclipse.org
[10] Web Sphere IBM公司的软件开发套件,主要是基于eclipse改进而来
[11] Fuzzy Search :模糊查询,指可以按照相似度或者各种转义字符查找,比如查找“roam~”就可能查找到foam或者roams
[12] Apache Software License apache软件基金会所制定的用户协议,基本要点是软件开放源代码,保留apache软件基金会在源码中的声明,但是不强制要求修改过的软件也开放源代码。更多信息可见http://www.opensource.org/licenses/apachepl.php
[13] PDF :可移植文档格式文件,由Adobe公司提出,已经成为标准的文档交换格式。
[14] .net framework :微软公司所推出的软件开发平台,面向下一代的Web开发与应用程序开发,与java有一定的相似之处。更多信息可见http://www.microsoft.com/net/
[15] ISO C++ :经过国际标准化组织(ISO)所标准化之后的C++语言版本,这里指开发语言只使用标准化之后的特性
[16] STLport 4.5.3C++语言的标准模板库(STL)的一个实现版本,由SGI STL版本改进而来,特点是能够适应多个平台与多个编译器。更多信息可见http://www.stlport.org
[17] OpenTop 1.1 :一套C++语言库,提供了类似于java语言的多种封装,比如文件系统,容器等等。更多信息可见http://www.sourceforge.net/projects/opentop
[18] GNU General Public License (GPL) :一个软件许可协议,特点是不仅仅开放源代码,而且要求修改者也开放源代码。更多信息可见http://www.opensource.org/licenses/gpl-license.php
[19] UCS-2 Unicode编码方式的一种,对于文字使用定长的两字节编码,可以最多容纳65535个字符的编码方案。更多信息可见http://www.unicode.org/
[20] UTF-8 Unicode编码方式的一种,特点是采用不定长字节编码,适合做为文件存储的编码方案。更多信息可见http://www.unicode.org
[21] 倒排索引结构:经典索引结构的一种,特点是存储的是字串与所在位置信息的一个配对,刚好与文章中位置与字串的关系相反,是一种普遍采用得建立索引方式。
[22] UML Unified Modeling Language(统一建模语言)的缩写,其定义了一套共通的软件建模的标准语言,用于描述软件的构造、模型等等。更多信息可见http://www.uml.org/
[23] 工厂模式(Factory parttern:设计模式的一种,主要思想是用静态方法或者工厂类封装类的初始化程序,以获得更多的灵活性。
 
 
 
参考文献:
1.   车东,《在应用中加入全文检索功能基于Java的全文索引引擎Lucene简介》,http://www.chedong.com/tech/lucene.html
2.   Brian Goetz,《The Lucene search engine: Powerful, flexible, and free》,http://www.javaworld.com/javaworld/jw-09-2000/jw-0915-lucene.html
3.   Apache软件基金会Lucne项目文档,《Index File Formats》,http://jakarta.apache.org/lucene/docs/fileformats.html
4.   Bruce Exkel著,侯捷译,《Java编程思想(第二版)》,机械工业出版社(北京),2002ISBN-7-111-10441-2
5.   Erich GammaRichard HelmRalph JohnsonJohn Vlissides著,李英军,马晓星等译,《设计模式可复用面相对象软件的基础》,机械工业出版社(北京),2000ISBN 7-111-07575-7
最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
匿名?