1、一个小型搜索引擎的设计与实现摘 要随着互联网和宽带上网的普及,搜索引擎在中国异军突起,并日益渗透到人们的日常生活中,在互联网普及之前,人们查阅资料首先想到的是拥有大量书籍的资料的图书馆。但是今天很多人都会选择一种更方便、快捷、全面、准确的查阅方式- 互联网。而帮助我们在整个互联网上快速地查找到目标信息的就是越来越被重视的搜索引擎。本文通过分析国内外搜索引擎的发展现状,提出了一种功能强大,操作简单,通用性强,可以满足用户对信息搜索需要,利用 ASP 技术实现的一个 B/S 体系结构的搜索引擎系统方案。文中着重论述了该系统的功能与实现、数据流程与存储、后台管理等。并对关键的有关技术作了较详细的介绍
2、。论文在撰写过程中,力求将理论与系统应用相结合,对各种理论进行阐述的同时配合系统从实际应用和操作技巧上加以说明,希望能够更充分地体现到这些知识与技术在本系统中的应用与实现。关键词:搜索引擎;ASP;B/S;关键字The Design and Implementation of a Small Search EngineAbstractWith the popularization of the Internet and surfing the Net broadband search engine likes a dark horse in China, going to peoples da
3、ily life day by day. Before this, when people consult materials the first thought is the library that has a large number of books. Now, more and more people will choose Internet to search for information. Its more convenient, and accurate for searching information. The search engine that helps us in
4、 the whole Internet to quickly identify target information is played more and more attention to. Through analyzing the current development of search engine in domestic and international, this paper gives a plan that achieves the formidable function, simply operating, stronger versatility and satisfi
5、es the users to the information search need, and realizes a systematic scheme of search engine of B/S system structure with the technology of ASP. This paper mainly describes the function and realization of this system, data procedure and storing, back-stage management, etc. And also introduces to t
6、he key relevant technology in detail. During this period, Ive made a lot effort to union the theory and practice, and coordinates with system to explain from practical application and operation skill while explaining various kinds of theories, hope to more fully reflect the knowledge and application
7、 in this system of technology and realize.Key words: Search Engine; ASP; B/S; Keyword目 录论文总页数:23 页1 引言 .11.1 课题背景 .11.2 搜索引擎的发展动向 .12 系统所用技 术分析 .22.1 系统开发 环境 .22.2 B/S 结构 .22.3 IIS 简介 .22.4 Microsoft Access 简介 .22.5 ASP 简介 .33 系统结构设计 .33.1 数 据库设计 .33.2 系统功能模块图 .54 系统前台模块设计 .64.1 网站搜索及图片搜索模块的实现 .64.1
8、.1 功能描述 .64.1.2 流程图.64.1.3 界面设计 .64.1.4 工作流程和代码设计 .74.2 分类目录模块的实现 .94.2.1 功能描述 .94.2.2 代码设计 .94.3 网站登录模块的实现 .104.3.1 功能描述 .104.3.2 数据流程图 .114.3.3 工作流程 .114.4 网站修改模块 .124.4.1 功能描述 .124.4.2 界 面设计 .134.4.3 工作流 程 .135 系统后台模块设计 .145.1 网站管理模块的实现 .155.1.1 功能描述 .145.1.2 工作流程和代码设计 .155.2 网站审核 .165.3 分类管理模块 .
9、165.3.1 分类编辑 .165.3.2 分类添加 .175.3.3 分类删除 .196 系统性能测试 .206.1 系统测试环境 .206.2 测试结果 .20结 论 .20参考文献 .21致 谢 .22声 明 .23第 1 页 共 23 页1 引言1.1 课题背景随着因特网的迅猛发展、Web 信息的增加,用户要在信息海洋里查找信息,就像大海捞针一样, 搜索引擎技术恰好解决了这一难题。目前,搜索引擎系统可以分类三大类,分别是:目录式搜索引擎:以人工方式或半自动方式搜集信息,由编辑员查看信息之后,人工形成信息摘要,并将信息置于事先确定的分类框架中。机器人搜索引擎:由一个称为蜘蛛的机器人程序以
10、某种策略自动地在互联网中搜集和发现信息,由索引器为搜集到的信息建立索引,由检索器根据用户的查询输入检索索引库,并将查询结果返回给用户。元搜索引擎:这类搜索引擎没有自己的数据,而是将用户的查询请求同时向多个搜索引擎递交,将返回的结果进行重复排除、重新排序等处理后,作为自己的结果返回给用户。1.2 搜索引擎的发展动向搜索引擎已成为一个新的研究、开发领域。因为它要用到信息检索、人工智能、计算机网络、分布式处理、数据库、数据挖掘、数字图书馆、自然语言处理等多领域的理论和技术,所以具有综合性和挑战性。又由于搜索引擎有大量的用户,有很好的经济价值,所以引起了世界各国计算机科学界和信息产业界的高度关注,目前
11、的研究、开发十分活跃,并出现了很多值得注意的动向:(1)十分注意提高信息查询结果的精度,提高检索的有效性。用户在搜索引擎上进行信息查询时,并不十分关注返回结果的多少,而是看结果是否和自己的需求吻合。(2)基于智能代理的信息过滤和个性化服务。信息智能代理是另外一种利用互联网信息的机制。它使用自动获得的领域模型(如 Web 知识、信息处理、与用户兴趣相关的信息资源、领域组织结构) 、用户模型(如用户背景、兴趣、行为、风格)知识进行信息搜集、索引、过滤(包括兴趣过滤和不良信息过滤) ,并自动地将用户感兴趣的、对用户有用的信息提交给用户。(3)采用分布式体系结构提高系统规模和性能。搜索引擎的实现可以采
12、用集中式体系结构和分布式体系结构,两种方法各有千秋。但当系统规模到达一定程度(如网页数达到亿级)时,必然要采用某种分布式方法,以提高系统性能。(4)重视交叉语言检索的研究和开发。交叉语言信息检索是指用户用母语提交查询,搜索引擎在多种语言的数据库中进行信息检索,返回能够回答用户问题的所有语言的文档。如果再加上机器翻译,返回结果可以用母语显示。该技术目前还处于初步研究阶段,主要的困难在于语言之间在表达方式和语义对应第 2 页 共 23 页上的不确定性。2 系统所用技术分析通过基于 Internet 互联网的动态 Web 数据库技术,可以解决远程的数据传输与读取,远程的客户终端可以通过 Web 页面
13、提交请求,查询远端的数据服务器上的信息,同时还可以向远端数据服务器的数据库中存储信息以实现信息的共享,同时利用 Internet 技术可以降低软件的开发和部署成本,只要在服务器端安装 WEB 应用就可以使每个客户端都能浏览使用。2.1 系统开发环境本搜索引擎系统是一个 B/S 结构的系统,它的发布需要有 Web 服务器的支持,且需要数据库系统来方便的对系统数据进行存储,查询,修改,删除,及时更新系统信息,同时需要一种简单,方便的编程工具可以与数据库进行交互。鉴于上述需求我选择 IIS 5.0Microsoft Access ASP 作为我的开发环境。2.2 B/S 结构B/S 结构,即 Bro
14、wser/Server(浏览器/服务器)结构,是随着 Internet 技术的兴起,对 C/S 结构的一种改进的结构。在这种结构下,用户界面完全通过WWW 浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成 3 层结构。B/S 结构主要利用了不断成熟的 WWW 浏览器技术,结合浏览器的多种 Script 语言,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。2.3 IIS 简介IIS 是 Internet 信息服务(Internet Information Server)的缩写,它是一种Web 服务,主要包括
15、WWW 服务器、FTP 服务器等,使得在 Intranet(局域网)或 Internet(因特网)上发布信息成了一件很容易的事。WWW 服务提供维护网站和网页,并回复基于浏览器的请求。有了 WWW 服务和它内置的功能,通过Internet 信息服务器可以创建各种各样的 Internet 应用程序,加上其内置的对数据库连接的支持,IIS 的功能就更强大。SQL 数据库信息或其他任何符合ODBC 的数据库信息都能在 Internet/Intranet 上灵活应用。2.4 Microsoft Access 简介Access 是 Office 系列软件中用来专门管理数据库的应用软件。所谓数据库是指经过
16、组织的、关于特定主题或对象的信息集合。数据库管理系统分为两类:文件管理系统和关系型管理系统。Access 应用程序就是一种功能强大且使用方便的关系型数据库管理系统,一般也称关系型数据库管理软件。它可运行于各种 Microsoft Windows 系统环境中,由于它继承了 Windows 的特性,不仅易于第 3 页 共 23 页使用,而且界面友好,如今在世界各地广泛流行。它并不需要数据库管理者具有专业的程序设计水平,任何非专业的用户都可以用它来创建功能强大的数据库管理系统。2.5 ASP 简介ASP 全称为 Active Server Pages,即动态服务器页面,它是一套微软开发的服务器端脚本
17、环境,ASP 内含于 IIS 3.0 以上版本中,通过 ASP 我们可以结合HTML 网页、 ASP 指令建立动态、交互且高效的 Web 服务器应用程序。ASP脚本在服务器端解释执行,结果自动生成符合 HTML 语言的主页去响应用户的请求。ASP 目前已成为目前应用最广泛的动态网页开发工具,同时应用 ASP 进行网络化的信息管理系统也逐步得到推广。ASP 本身并不是一种脚本语言,它只是提供了一种使镶嵌在 HTML 页面中的脚本程序得以运行的环境。ASP 程序其实是以扩展名为.asp 的纯文本形式存在于 Web 服务器上的,可以用任何文本编辑器打开它。ASP 程序中可以包含纯文本、HTML 标记
18、以及脚本命令。用户只需将.asp 程序放在 Web 服务器的虚拟目录下(该目录必须要有可执行权限) ,就可以通过 WWW 的方式访问 ASP 程序了。3 系统结构设计本系统是一个 B/S 结构的系统,采用 IIS 5.0Microsoft AccessASP 作为开发环境。它的发布需要有 Web 服务器的支持,且需要数据库系统来对系统数据进行存储,查询,修改,删除,及时更新系统信息。系统设计 6 个功能模块,分别是网站搜索模块、图片搜索模块、分类目录模块、网站登录模块、网站管理模块和管理员登录模块。用户登录到首页,首先进入的是网站搜索界面。点击页面上其他功能模块的超链接,可进入相应的模块界面。
19、网站登录模块和网站管理模块需要用户输入用户名和密码,成功通过验证才能进入相应的管理模块,如果验证失败则返回到前一个功能模块界面。管理员登录模块同样需要成功通过验证才能进入相应的管理模块。但他又提供了网站审核、网站管理和分类目录修改 3 个子模块。 3.1 数据库设计数据库结构设计几乎所有的 Web 项目都要基于数据库,这使得数据库的设计在整个项目中举足轻重。本购物系统中大部分前台的显示信息都是从数据库中读取所需信息,而系统管理员则只需在后台通过修改数据库中的数据即可达到改变前台显示内容的目的,所以数据库在本系统中作为中间介质连接前台和后台,其重要性不言而喻。本设计根据系统需求分析,选用 Mic
20、rosoft Access 作为该系统的数据库。数据库取名为 SEARCH.MDB,其中包含了系统中所有的第 4 页 共 23 页数据。下面对一些关键表作详细说明。网站登录数据信息数据库在数据库中标记的是 Web 数据表,它记录的是网站名称、网站简介、网站地址、是否审核、网站关键字、联系人姓名、联系人E-mail、联系人 qq 号码、联系人地址、联系人邮政编码、网站登录时间、网站单击次数、所属子类名称、子类路径和所属子类 ID。Web 表的具体结构如表 1所示:表 1 网站登录数据表字段名称 数据类型 说明 主关键字ID 自动编号 编号 *Title 文本 网站名称Content 文本 网站内
21、容简介URL 文本 网站地址Verify 是/否 管理员是否已经确认Keyword 文本 网站关键字Name 文本 联系人姓名Email 文本 联系人 E-mailQQ 文本 联系人 qqAddress 文本 联系人地址PostCode 文本 联系人邮政编码Time 日期/时间 网站登录时间Click 数字 网站访问次数Sort 文本 子类名称Sort_path 文本 子类路径Sort_ID 数字 子类 ID分类目录数据库表在数据库中标记的是 Sort 数据表,它记录的是子类信息,包括子类名称、父类 ID 和是否在首页显示。Sort 表的具体结构如表 2 所示:表 2 分类目录数据表字段名称
22、数据类型 说明 主关键字ID 自动编号 编号 *Sort 文本 子类名称Sort-ID 数字 父类 IDShow 数字 是否在首页显示第 5 页 共 23 页管理员数据表即:数据表 Admin,记录的是管理员的登录名和密码。具体结构如表 3 所示:表 3 管理员数据表字段名称 字段名称 说明 字段名称ID 自动编号 编号 *UserName 文本 管理员登录名Password 文本 管理员密码图片数据表即:PIC 数据表,记录的是图片编号、图片名称、图片介绍、图片地址、是否确认、图片关键字、小图片相对路径、大图片相对路径、图片添加的日期、网站访问次数。具体结构如表 5 所示:表 4 图片数据表
23、字段名称 数据类型 说明 主关键字id 自动编号 编号 *Name 文本 图片名称Introduce 文本 图片内容简介URL 文本 图片地址Verify 是/否 管理员是否已经确认Keyword 文本 图片关键字smallImg 文本 小图片相对路径bigImg 文本 大图片相对路径recommendDate 日期/时间 设置为图片添加的日期Click 数字 网站访问次数3.2 系统的功能模块图系统的功能模块图如图 1 所示:主界面网站搜索 管理员登录图片搜索 分类搜索 网站管理网站登录第 6 页 共 23 页图 1 系统的功能模块图4 系统前台模块设计4.1 网站搜索及图片搜索模块的实现4
24、.1.1 功能描述用户访问系统时,首先接触到的是首页面 index.asp,它提供了到达 6 个功能模块的超链接,默认显示为网站搜索模块。另外页面还提供一个表单 from,让用户输入要搜索的关键字,当用户输入关键字单击搜索按钮后,表单中的数据将被提交到 search.asp 文件中处理。在 search.asp 首先读取传递过来的数据,然后判断该数据是否为空。如果不为空。则将数据分割为多个关键字,然后在数据库中查找匹配的记录,并在页面上显示。4.1.2 流程图在网站搜索模块中,数据流程如图 2 所示:数据是否为空 关键字处理否是输入关键字搜索并显示结图 2 网站搜索流程图4.1.3 界面设计搜索模块的界面设计如图 3 所示:图 3 网页搜索模块界面图