开源全文检索引擎的研究和应用

开源全文检索引擎的研究和应用

论文摘要

随着因特网的普及和信息技术的高速发展,为了从海量的信息中快速、准确地获取所需要的信息,信息检索技术成了人们关注的焦点。其中,全文检索是一种非常高效的信息检索技术,它极大地提高了从海量的数据中查找特定信息的效率。作为开源组织Apache Jakarta的成员项目,Lucene是一个用java语言实现的高性能、可扩展的信息检索工具,它可以方便快捷地集成到应用程序中以增加索引和搜索的功能。本文首先介绍了全文检索的研究现状和关键技术,然后对Lucene的结构以及分析器原理进行了分析和研究。本文通过对Lucene内核分析器的分析和研究,设计了一个基于HashMap实现的树形词库。基于该树形词库设计了一个类似联想方法的正向最大匹配分词算法。该分词算法实现了对中文、英文和数字的切分,并且能对标点符号进行过滤。测试结果表明,本文设计的分词模块MMCAnalyzer与Lucene内核包采用的单字切分方法和其扩展包中的二元切分方法相比,该分词算法具有效率高、分词准确率高的优势。此外,为了使Lucene可以方便、无缝地嵌入到应用程序中,Lucene的内核被设计得非常小巧,它的处理对象局限于纯文本数据。然而在现实世界中,纯文本格式的文档正处于逐渐减少的趋势,其他各种格式的文档逐渐增多。为了解决该问题,本文设计了一个多类型文档处理的框架。该框架能够有效地处理txt、doc、pdf等常见的文档类型。最后,本文对研究工作进行了总结,提出了今后进一步的研究方向。

论文目录

  • 摘要
  • ABSTRACT
  • 1 绪论
  • 1.1 课题研究的背景及意义
  • 1.2 国内外研究概况
  • 1.2.1 国外研究概况
  • 1.2.2 国内研究概况
  • 1.3 全文检索技术的应用现状
  • 1.4 本文的主要研究内容
  • 1.5 本文的组织结构
  • 2 全文检索系统概述
  • 2.1 全文检索的概念
  • 2.2 全文检索的系统结构
  • 2.3 全文检索的相关技术
  • 2.3.1 索引
  • 2.3.2 搜索
  • 2.3.3 词典库
  • 2.3.4 Hits 列表
  • 2.4 本章小结
  • 3 Lucene 的分析与研究
  • 3.1 Lucene 发展现状
  • 3.2 Lucene 的系统结构分析
  • 3.2.1 系统结构组织
  • 3.2.2 数据流分析
  • 3.2.3 基于Lucene 的应用开发
  • 3.3 Lucene 索引文件格式分析
  • 3.3.1 Lucene 索引文件格式
  • 3.3.2 一些公用的基础类
  • 3.4 Lucene 分析器的研究
  • 3.4.1 索引过程分析
  • 3.4.2 剖析分析器
  • 3.4.3 语汇单元的组成
  • 3.4.4 TokenStream 分析
  • 3.5 Lucene 的特点及优势
  • 3.6 本章小结
  • 4 基于Lucene 全文检索系统的设计
  • 4.1 系统设计目标
  • 4.2 系统结构设计
  • 4.3 分词模块设计
  • 4.3.1 词库设计
  • 4.3.2 分词算法设计
  • 4.4 文档处理框架设计
  • 4.4.1 PDF 文本的抽取
  • 4.4.2 HTML 文本的抽取
  • 4.4.3 Word 文本的抽取
  • 4.5 本章小结
  • 5 基于Lucene 全文检索系统的实现
  • 5.1 系统开发环境
  • 5.2 词库的实现
  • 5.2.1 词语库的选择
  • 5.2.2 词库构建算法实现
  • 5.3 分词算法的实现
  • 5.4 文档处理框架的实现
  • 5.5 系统测试与分析
  • 5.5.1 分析器的测试
  • 5.5.2 分词效果测试
  • 5.5.3 构建索引测试
  • 5.5.4 系统运行测试
  • 5.6 本章小结
  • 6 结论与展望
  • 6.1 结论
  • 6.2 展望
  • 致谢
  • 参考文献
  • 附录
  • 相关论文文献

    标签:;  ;  ;  

    开源全文检索引擎的研究和应用
    下载Doc文档

    猜你喜欢