正在加载图片...
1简介 在介绍 Lucene之前,首先,要介绍一下全文检索这个重要的概念,那么什么是全文检 索呢? 全文检索,就是指计算机索引程序通过扫描文章中的每一个词,对每一个词建立一个索 引,指明该词在文章中出现的次数和位置,当用户査询时,检索程序就根据事先建立的索引 进行查找,并将查找的结果反馈给用户的检索方式。这个过程类似于通过字典中的检索字表 查字的过程 其次, Lucene是一个开放源代码的全文检索引擎工具包,即它不是一个完整的全文检 索引擎,而是一个全文检索引擎的架构,提供了完整的査询引擎和索引引擎,部分文本分析 引擎(英文与德文两种西方语言)。 Lucene的目的是为软件开发人员提供一个简单易用的工 具包,以方便的在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检 索引擎。 Lucene属于 apache软件基金会 jakarta项目组的一个子项目。 2功能模块 经过一个学期对 Lucene项目的功能及源码的研究,本项目小组发现再 Lucene中的核心 类库应该包括以下几个方面: Document、ndex、 Search、 Analyzer、 Store,如下表所示: 核心包名称 解释 Document类是 Lucene中的文件最小单元,与文件系统中存在的每个 文件有一一对应的关系,通过 Lucene内部定义的Feld(域)概念 将一个文件中划分为多个部分,分别提取出每一块的关键内容进行索 引记录。 Index ndex包将所有需要搜索的数据源进行再加工,形成了适于 Lucene的 搜索操作的文件结构,去除了一些不可能作为搜索关键的词语,减少 了信息检索量,从而提高了信息检索的效率,通过不断的增减索引内 容,达到与原始数据源同步的目的 Search Search功能的实现是基于索引文件的建立,通过对索引文件的检索达 到真正搜索的目的, Lucene项目内部为搜索操作提供了多种实现方 法,包括:项搜索、范围搜索、字符串前缀搜索、短语搜索、组合搜 索、通配符搜索、类似项搜索等。 Analyzer Analyzer功能是在索引和搜索两本分的基础上产生的,是为了辅助索 引创建和搜索过程而产生的,在整个 Lucene项目中,语汇分析这个 模块最能体现出其关于搜索的特性。 Store Store的功能也在于加强 Lucene的搜索效率,但是与 Analyzer不同的 是,它重点在研究如何利用计算机的内存容量和文件系统的存储空间 来提高搜索效率,具体的方法包括:缓存查找结果、在内存中创建索 引等 本文档将按照这五个功能的先后顺序对 Lucene的开源项目进行详细阐述,并且在其中 增加项目小组成员对不同模块的分析内容,对项目中已有的设计模式的思想进行抽象和概括1 简介 在介绍 Lucene 之前,首先,要介绍一下全文检索这个重要的概念,那么什么是全文检 索呢? 全文检索,就是指计算机索引程序通过扫描文章中的每一个词,对每一个词建立一个索 引,指明该词在文章中出现的次数和位置,当用户查询时,检索程序就根据事先建立的索引 进行查找,并将查找的结果反馈给用户的检索方式。这个过程类似于通过字典中的检索字表 查字的过程。 其次,Lucene 是一个开放源代码的全文检索引擎工具包,即它不是一个完整的全文检 索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析 引擎(英文与德文两种西方语言)。Lucene 的目的是为软件开发人员提供一个简单易用的工 具包,以方便的在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检 索引擎。Lucene 属于 apache 软件基金会 jakarta 项目组的一个子项目。 2 功能模块 经过一个学期对 Lucene 项目的功能及源码的研究,本项目小组发现再 Lucene 中的核心 类库应该包括以下几个方面:Document、Index、Search、Analyzer、Store,如下表所示: 核心包名称 解释 Document Document 类是 Lucene 中的文件最小单元,与文件系统中存在的每个 文件有一一对应的关系,通过 Lucene 内部定义的 Field(域)概念, 将一个文件中划分为多个部分,分别提取出每一块的关键内容进行索 引记录。 Index Index 包将所有需要搜索的数据源进行再加工,形成了适于 Lucene 的 搜索操作的文件结构,去除了一些不可能作为搜索关键的词语,减少 了信息检索量,从而提高了信息检索的效率,通过不断的增减索引内 容,达到与原始数据源同步的目的。 Search Search 功能的实现是基于索引文件的建立,通过对索引文件的检索达 到真正搜索的目的,Lucene 项目内部为搜索操作提供了多种实现方 法,包括:项搜索、范围搜索、字符串前缀搜索、短语搜索、组合搜 索、通配符搜索、类似项搜索等。 Analyzer Analyzer 功能是在索引和搜索两本分的基础上产生的,是为了辅助索 引创建和搜索过程而产生的,在整个 Lucene 项目中,语汇分析这个 模块最能体现出其关于搜索的特性。 Store Store 的功能也在于加强 Lucene 的搜索效率,但是与 Analyzer 不同的 是,它重点在研究如何利用计算机的内存容量和文件系统的存储空间 来提高搜索效率,具体的方法包括:缓存查找结果、在内存中创建索 引等。 本文档将按照这五个功能的先后顺序对 Lucene 的开源项目进行详细阐述,并且在其中 增加项目小组成员对不同模块的分析内容,对项目中已有的设计模式的思想进行抽象和概括
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有