搜索引擎关键技术研究及性能优化 ——基于Lucene的全文检索技术的研究与应用

搜索引擎关键技术研究及性能优化 ——基于Lucene的全文检索技术的研究与应用

论文摘要

全文索引和检索是一种非常高效的信息检索技术,它极大地提高了从大量纷繁复杂的数据中查找特定信息的效率。作为开源组织ApacheJakarta的成员项目,Lucene是一个成熟、自由、开源的软件项目,是一个高性能的、可扩展的信息检索工具库,可以方便快捷地融入到应用程序中以增加索引和搜索功能。目前,Lucene的核心包和扩展包对中文分词采取类似英文的机械式切分方法。但是,由于中英文之间在形式上存在着巨大的差异,这种切分方法的分词效果是非常粗糙和低效的。在对包括中文分词技术在内的全文检索技术进行分析和研究的基础上,本文设计实现了一个基于词典的、采用正向最大匹配算法的中文分词模块。测试结果表明,与Lucene内核包采用的单汉字切分方法和其扩展包针对中日韩等亚洲语言采用的二元切分方法以及传统的基于词典的中文分词方法相比,该模块具有效果更好、性能更优的比较优势。此外,信息检索的实践表明,由于自然语言中存在着大量的同义词、近义词,用户在检索的时候很难全部列举出表示同一概念的不同词汇表达形式,因而易造成漏检。本文实现了一种同义词检索的解决方案,提高了查全率。Lucene使用了倒排索引结构,查找效率高,节省空间。被索引的词条除文本值外,还有其所在的文档号,出现位置和出现频率等信息,在写入索引的过程中通过人为干预,将原词条的同义词插入语汇单元流的适当位置,并设置其位置信息,索引后的同义词在文档中的位置和原词条一致,可以达到检索包含输入词的同义词的记录的效果。本文在设计词典时加入了同义词的存储结构,事实证明具有较高的访问效率和容易维护的特点。在应用方面,本文主要工作是专利著录项目检索系统的设计与实现。系统在文档数据加工、格式转换等相关工作的基础上,完成构建分词器、索引器、查询器、数据库存储设计等内容,最终实现了系统对中外文专利著录项目的检索、文摘信息浏览、全文说明书的查看和下载等功能。

论文目录

  • 摘要
  • ABSTRACT
  • 第一章 绪论
  • 1.1 研究背景及意义
  • 1.2 什么是全文检索技术
  • 1.3 全文检索技术的研究现状
  • 1.4 本文工作
  • 第二章 LUCENE 关键技术研究
  • 2.1 LUCENE 概述
  • 2.2 LUCENE 系统结构分析
  • 2.2.1 Lucene 系统结构组织
  • 2.2.2 Lucene 数据流分析
  • 2.3 LUCENE 索引技术研究
  • 2.3.1 倒排索引技术
  • 2.3.2 Lucene 索引过程
  • 2.3.3 Lucene 索引的数据结构
  • 2.3.4 Lucene 索引文件格式
  • 2.4 LUCENE 的分词技术
  • 2.4.1 分词数据结构
  • 2.4.2 Lucene 分词机制
  • 2.4.3 Lucene 内置分词器的特点与不足
  • 第三章 中文分词算法设计
  • 3.1 中文分词体系
  • 3.1.1 基于字符串匹配的分词算法
  • 3.1.2 基于理解的分词方法
  • 3.1.3 基于统计的分词方法
  • 3.2 全哈希词典结构设计
  • 3.2.1 全哈希词典结构
  • 3.2.2 哈希算法设计
  • 3.2.3 词典结构实现
  • 3.2.4 词典访问算法
  • 3.2.5 词典装载与序列化
  • 3.3 改进的正向最大匹配法—逐字哈希匹配法
  • 3.4 与其它分词算法的性能对比
  • 第四章 向分词词典中加入同义词
  • 4.1 LUCENE 同义词索引原理
  • 4.2 基于循环链表的的同义词存储结构
  • 4.3 同义词链表实现
  • 4.4 访问同义词链表
  • 4.5 同义词自动识别
  • 第五章 专利检索系统的设计与实现
  • 5.1 系统概念
  • 5.1.1 专利著录项目说明
  • 5.1.2 系统功能需求
  • 5.2 系统设计
  • 5.2.1 系统处理过程
  • 5.2.2 功能模块设计
  • 5.3 主要模块实现过程
  • 5.3.1 分词模块实现
  • 5.3.2 索引模块实现
  • 5.3.3 检索模块实现
  • 5.4 其它模块简介
  • 5.5 分析与测试
  • 第六章 结束语
  • 致谢
  • 参考文献
  • 附录A:作者在攻读硕士学位期间发表的论文
  • 附录B:代码清单
  • 相关论文文献

    标签:;  ;  ;  ;  

    搜索引擎关键技术研究及性能优化 ——基于Lucene的全文检索技术的研究与应用
    下载Doc文档

    猜你喜欢