论文部分内容阅读
随着互联网的迅速发展,越来越多的人们希望通过网络来获取他们需要的信息。在这样的需求背景下,搜索引擎技术应运而生,它以庞大的数据容量,快速的用户响应与人性化的网站排名赢得了人们的普遍欢迎。随着需求的不断改变与细化,各种各样的搜索引擎随之产生,图片搜索引擎、新闻搜索引擎等专业搜索引擎满足了不同专业人群的需要,基于windows与基于linux的搜索引擎满足了多平台作业人群的需要。搜索引擎一般由网络爬虫Crawler、索引器、检索器与用户接口组成。Crawler从Web上下载页面;索引器对下载页面的内容进行分析并将文档表示为一种便于检索的方式存储在索引数据库中。检索器接收用户的查询词并实现查询词语目标文档匹配度的计算;用户接口、提供一个搜索引擎与用户交互的界面,它实现将检索结果格式化后提交给用户浏览。本论文的主要任务是对基于linux的英文搜索引擎的改进,该搜索引擎从设计之初以来,一直致力于如何快速高效地建立索引与提供检索,它最大的特点就是网页收集部分与索引检索部分相分离,这样使得网页的获取方式多样化而建立索引在统一时间进行,进而节省了时间又简化了操作,同时搜索引擎提供给用户灵活的linux文本操作界面,比如用户可以通过输入参数控制查询结果的输出数量与风格。本文首先简要地介绍了搜索引擎的相关技术,包括搜索引擎的体系结构、网络爬虫、文档预处理、索引技术、查询技术与排序技术。而后结合现有的搜索引擎源代码,详细介绍了搜索引擎索引与搜索两大子系统,包括每个子系统的主要数据结构,子系统的工作流程与子系统的主要功能函数等,在详细分析了搜索引擎各个系统功能的基础上,本文对搜索引擎进行了改进,即增加英文短语查询的功能,文中从分析短语的表示入手,依次分析了短语的解析与短语的查询,每部分分析都要同原系统的相关部分紧密结合,对原系统的修改也尽量做到添加而非改动。本文最后一部分给出了基于修改的搜索引擎的功能测试,同时从分析结果的角度比较了短语查询同逻辑“与”查询的不同点。