http://www.paper.edu.cn
- 1 -
面向数据库的全文检索引擎的设计和实现
李领康,文福安,李建伟
北京邮电大学网络教育学院,北京(100088)
E-mail:yushanyuan@163.com
摘 要:全文检索技术是一种非常有效的信息检索技术。本文比较了全文检索技术和常规数
据库检索的不同,介绍了倒排序技术的优点。在此基础上介绍了一个答疑系统中全文搜索引
擎的各模块的关键实现技术,包括索引结构、索引的建立和更新、中文分词等。重点研究了
索引结构和相关性计算公式。并且针对系统环境设计了二维动态递增索引模型,开发出适合
自己系统的搜索引擎。
关键词:全文检索引擎,索引模型,排序算法
0. 概述
目前全国各地的网路学院所应用的平台中,都提供答疑的功能。越来越多的网络学院的
教学平台中集成了智能答疑系统。智能答疑系统是针对学生数量众多,老师时间和精力有限,
而提供的一种高效的,科学的网络学习模式。它可以使学生得到快速响应,也可以减轻老师
的工作压力。开发一个高效的,科学的智能答疑系统必须解决的问题是:如何为学生提供精
确的信息、如何更有效的利用已有的教学资源。搜索引擎无疑是解决这个问题的一种途径。
全文检索引擎在智能答疑系统中的应用能帮助学生在海量的教学信息中获取有用的答
案,提高学习效率。
1. 全文检索引擎
全文检索是指计算机索引程序通过扫描文章中的每一个词,对每一个词建立一个索引,
指明该词在文章中出现的次数和位置,当用户查询时,检索程序就根据事先建立的索引进行
查找,并将查找的结果反馈给用户的检索方式。这个过程类似于通过字典中的检索字表查字
的过程。
全文检索的方法主要分为按字检索和按词检索两种。按字检索是指对于文章中的每一个
字都建立索引,检索时将词分解为字的组合。对于各种不同的语言而言,字有不同的含义,
比如英文中字与词实际上是合一的,而中文中字与词有很大分别。按词检索指对文章中的词,
即语义单位建立索引,检索时按词检索,并且可以处理同义项等。英文等西方文字由于按照
空白切分词,因此实现上与按字处理类似,添加同义处理也很容易。中文等东方文字则需要
切分字词,以达到按词索引的目的,关于这方面的问题,是当前全文检索技术尤其是中文全
文检索技术中的难点。
2. 全文搜索引擎与数据库模糊查询的比较
数据库搜索过程类似于一页页翻书的遍历过程,对于含有模糊查询的数据库服务来说,
LIKE 对性能的危害是极大的
[1]
。而全文检索引擎之所以高效是因为建立了一个反向索引机
制。类似于为一本书建立了目录。检索过程变成了把模糊查询变成可以利用索引的精确查询
的逻辑组合的过程。从而大大提高了关键词查询的效率。