文档介绍:第!" 卷第% 期
!""" 年% 月
计算机应用
6=>IJ:/; 5IIEFC?:F=9K
L=E-!"M 7=-%
G/I- M!"""
文章编号:)"") , %"+)(!""")"% , ""*+ , "’
基于./0 的百万级 123 搜索引擎的设计与实现
陈
华,罗
昶,王建勇,段
晖,薛
明
(北京大学计算机系网络与分布式系统研究室,北京)""+&))
摘
要:本文以“天网”123 搜索引擎为例,介绍了百万级 123 搜索引擎的设计与
实现,并重点分析了系统所采用的关键技术和方法。
关键词:123;搜索引擎;...
中图分类号:23’%’-4
) 引言
文献标识码:5
系统在用户端以... 网页的形式供浏览器浏
览,通过调用 6(8(6=>>/9: (?:/@?A 89:/;B?C/)程序进
根据中国互联网络信息中心(67786)有关中国
89:/;9/: 发展状况统计报告(截止到)%%% 年底),中国
上网用户数是+%" 万。每年网民的增长率超过
’""<。而搜索引擎则是除电子邮件以外网民使用
最多的服务。与相对众多的... 搜索引擎相比,
功能强大的 123 搜索器并不常见,由此限制了人们
对具有大量信息与资源的 123 站点的访问。实现一
个高速、海量、功能强大而又基于./0 的 123 搜索
引擎将为网络用户提供极大方便。为此,北京大学
计算机系网络与分布式系统研究室最新开发出了
“天网”123 搜索引擎,并已作为“天网”中、英文搜索
引擎[)]的一个子系统在网上提供服务,获得了广大
用户的一致好评。本文将从“天网”123 搜索引擎的
系统结构与算法出发阐述一种百万级 123 搜索引擎
的设计与实现的方案。
行搜索。6(8 是个短生命周期进程,因而在服务端
需要有专用的搜索服务器以提高效率。6(8 程序使
用 263 D 83 协议与服务器连接。服务器将主要数据
库读入内存,由 6(8 程序提供的搜索请求提供快速
搜索服务。同时,数据库的生成需要一个搜集建库
程序。考虑优先目录的搜集频率不同以及用并行搜
集建库以解决网络传输速度问题,将数据库分为原
始数据库与目标数据库。搜集程序将搜集的原始结
果直接写入原始数据库,建库程序依靠原始数据库
生成最终使用的目标数据库。整个系统结构如图)
所示:
!
123 搜索引擎的系统结构设计
123 搜索器与... 搜索器都是对字符串进行
匹配与查找,以找出网络文档的链接,但 123 搜索器
与... 搜索器有很大不同。比如 123 搜索引擎不
要求显示结果的内容摘要,对 123 站点各目录的数
据刷新要求有不同的刷新速率,查询时需要文件信
图)
123 搜索引擎的系统结构
息、站点信息过滤等。因而设计 123 搜索器时应从
网络用户对 123 搜索的实际需要出发,重点实现数
据的实时性、搜索的快速性和功能的强大性。
在这个方案里,搜索服务器作为 6EF/9: D G/;H/; 机
制的 G/;H/; 端提供服务,作为 6EF/9: 端的 6(8 程序可
用远程连接的方法与之传递信息,同时搜集建库程
!-)
系统结构