论文部分内容阅读
随着计算机互联网技术的飞速发展,信息爆炸时代已经来临,如何在浩如烟海的网络资源中获取潜在的,有价值的信息就成为了非常关键的问题,因为这些信息可能在用户的管理和决策中发挥举足轻重的作用。搜索引擎技术应运而生,他解决了用户检索网络信息的困难,目前Web搜索引擎技术正成为计算机工业界和科学界争相研究和开发的热点。
搜索引擎(Search Engine)是指因特网上专门提供查询服务的一类网站,这些网站通过一种叫做网络爬虫(又成为网络搜索机器人)的软件或网站登录等方式,收集因特网上大量网站的页面,经过加工处理后建立数据库,从而能够对用户提出的各种查询做出响应,提供用户所需的信息。而垂直搜索引擎(Vertical Search Engine)是相对通用搜索引擎的信息量大、查询不准确、深度不够等提出来的新的搜索引擎服务模式,通过针对某一特定领域、某一特定人群或某一特定需求提供的有一定价值的信息和相关服务。其特点就是“专、深、精”,且具有行业色彩,相比较通用搜索引擎的海量信息无序化,垂直搜索引擎则显得更加专注、具体和深入。
本文设计的垂直搜索引擎的核心是全文索引和检索,它们是快速有效的检索技术,极大地提高了从大量纷繁复杂的数据中查找特定信息的效率。Lucene是Apache Jakarta的一个子项目,是一个全文检索的搜索引擎库,而网络爬虫技术则是搜索引擎的关键。本文将提出一种基于XML、网络爬虫等WEB技术的垂直搜索引擎的设计及其实现,并对该搜索引擎的基本框架设计和主要功能模块的实现作了详细介绍,在使用开源框架Lucene的帮助下完成整个系统的设计,最后给出相应的实验结果。
从内容上来说,本文首先对搜索引擎的产生背景、发展历史进行了说明,并对当前著名的中文搜索引擎进行了简单介绍,同时指出了搜索引擎的发展现状和趋势。接下来,文章对搜索引擎的基本原理、基本框架的搭建,相关技术和处理流程作了进一步的分析。通过对中文搜索引擎核心技术的研究,让我们对中文搜索引擎的实现难点有了更深的认识。由于在中文的书面格式中,词与词之间没有自然的分隔符(例如英文中的空格),中文分词就成为了中文语言分析的核心任务。本人在分析和比较了基于多种算法的分词方法后,采用了一种基于最大正向匹配算法的分词方——JE分词。
文章接着介绍了一个纯Java实现的成熟、自由、开源的软件项目:Lucene。Lucene是一个高性能的、可扩展的信息检索工具库。通过对Lucene源代码的分析和编程实验,让我们领略到了Lucene的精髓。由于其提供了一套简单而且非常强大的核心API,使得我们可以快速地将它集成到我自己的应用程序中。
文章最后以成功开发航班垂直搜索系统为案例阐述了搜索引擎技术在商业环境中的应用。本文详细说明了利用Lucene,DWR,Spring开源框架开发垂直搜索引擎的各组成模块及相关功能。利用了基于最大正向匹配算法的JE分词对原有的基于拉丁文字的搜索引擎分词模块进行了改进,以适用于中文应用和特定的商业需求。