当前位置:首页 » 网页前端 » 电脑上web服务搜索引擎
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

电脑上web服务搜索引擎

发布时间: 2022-09-08 14:24:12

Ⅰ 中国的八大搜索引擎是哪些

中国的八大搜索引擎有网络、网易、雅虎、阿里巴巴、搜狗、谷歌、必应、中搜。

1、网络,全球最大的中文搜索引擎及最大的中文网站,全球领先的人工智能公司。网络愿景是:成为最懂用户,并能帮助人们成长的全球顶级高科技公司。

网络拥有数万名研发工程师,这是中国乃至全球最为优秀的技术团队。这支队伍掌握着世界上最为先进的搜索引擎技术,使网络成为中国掌握世界尖端科学核心技术的中国高科技企业,也使中国成为美国、俄罗斯、和韩国之外,全球仅有的4个拥有搜索引擎核心技术的国家之一。

2、网易公司是中国的互联网公司,利用互联网技术,加强人与人之间信息的交流和共享,实现“网聚人的力量”。

网易在推出了包括中文全文检索、全中文大容量免费邮件系统、无限容量免费网络相册、免费电子贺卡站、网上虚拟社区、网上拍卖平台、24小时客户服务中心在内的业内领先产品或服务,还通过自主研发推出了国产网络游戏。网易公司推出了门户网站、在线游戏、电子邮箱、在线教育、电子商务、在线音乐、网易bobo等多种服务。

3、雅虎是曾经的全球第一门户搜索网站,业务遍及24个国家和地区,为全球超过5亿的独立用户提供多元化的网络服务。

中国雅虎开创性地将全球领先的互联网技术与中国本地运营相结合,成为中国互联网界位居前列的搜索引擎社区与资讯服务提供商。中国雅虎一直致力于以创新、人性、全面的网络应用,为亿万中文用户带来最大价值的生活体验,成为中国互联网的“生活引擎”。

4、搜狗是搜狐公司的旗下子公司,于2004年8月3日推出,目的是增强搜狐网的搜索技能,主要经营搜狐公司的搜索业务。在搜索业务的同时,也推出搜狗输入法、搜狗高速浏览器。

全球首个百亿规模中文搜索引擎,收录100亿网页,再创全球中文网页收录量新高。每日网页更新达5亿,用户可直接通过网页搜索而非新闻搜索,获得最新新闻资讯。在导航型和信息型的两种查询结果中,分别以94%和67%的准确度领先业界。

5、微软必应(英文名:Bing)是微软公司于2009年5月28日推出,为符合中国用户使用习惯,Bing中文品牌名为“必应”,作为全球领先的搜索引擎之一。

微软在中国启用全新明黄色必应搜索标志并去除Beta标识,这使必应成为继Windows、Office和Xbox后的微软品牌第四个重要产品线,也标志着必应已不仅仅是一个搜索引擎,更将深度融入微软几乎所有的服务与产品中。

6、中搜是中国国内领先的第三代搜索引擎服务及技术应用提供商。依托第三代搜索引擎和个性化微件,实现了人类知识和搜索技术的融合,通过两大WEB站点、移动APP、云服务平台等载体为网民及企业提供全新的第三代搜索引擎体验。

Ⅱ web编程 制作分类搜索引擎

客户端通过浏览器向Web服务器请求搜索引擎程序,搜索引擎程序调用中间件进行搜索处理,这种搜索处理包括在本网站上数据库中的搜索和对 Internet上其他服务器的搜索。然后中间件服务器把搜索结果返回给Web服务器上的搜索引擎程序。搜索引擎程序再将数据封装为HTML 或XML返回给客户端的浏览器。
反观现在的个人网站,大多使用的是提供商提供的免费空间,没有 CGI 、没有ASP、没有执行和写入权限、没有数据库,还有的免费空间连1M以上的文件都不让上传(题外话),所以在个人网站上用上面的方法实现关键字搜索引擎是不现实的。我们要实现关键字搜索,就必须找到一种不需服务器端动态脚本和数据库的方法,而且它需要满足以下条件:
1. 数据具有良好的结构性;
2. 有方便的数据访问接口;
3. 有方便的数据查找接口;
4. 能够生成具有良好封装型的HTML。
我们可以通过这样一种解决方案实现以上构想:
图像
客户端通过浏览器请求XML文档和客户端脚本语言,Web服务器像返回HTML一样返回给浏览器XML和客户端脚本,在由浏览器进行计算,得出搜索结果。这样做的优点是不需增加Web服务器的负担;缺点是
XML文档在被计算之前需要完全下载到客户端,假如存储的记录太多,就会在下载上浪费很多时间(熟悉网络程序的人会发现,这实际上继承了分布式网络应用出现之前的结构)。
让我们看一看这种方案的性能:
1.数据的结构性
让我们比较一下传统数据库的表和XML
ID
Name
Phone
1
张三
61111111
2
李四
62222222
3
王五
63333333
我们从右图可以看出:XML文档有媲美数据库的良好文档结构。
图像
2.数据访问接口
在Internet Explorer 中,微软提供了XML文档对象模型(XMLDOM),这样我们可以通过对XML文档对象的操作轻松访问XML
文档,我们以一个存储文章信息的XML文档TECH.XML 为例:
'VBScript
Dim xmldoc
Set xmldoc = CreateObject("Microsoft.XMLDOM")
xmldoc.load "tech.xml"
以上代码段首先创建一个XML文档对象,然后调用其load 方法从TECH.XML 装载XML
文档
3.数据查找接口
'VBScript
Set objNodeList = xmldoc.getElementsByTagName("title")
Set objdiscList = xmldoc.getElementsByTagName("discribe")
Set objhrefList = xmldoc.getElementsByTagName("href")
这三行代码分别从XML文档对象中查找出标签为"title"、"discribe"、"href" 的元素,存放到XMLDOM提供的NodeList (节点列表)对象中。
4.数据的封装型
由于IE 和Netscape支持XML。所以可以直接显示XML,也可以在脚本程序中使用微软提供的文档对象模型(DOM)写出一定格式。
完整代码见下:
search.htm
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>搜索</title>
<script language="VBScript">
<!--
Dim xmldoc
Set xmldoc = CreateObject("Microsoft.XMLDOM")
xmldoc.load "tech.xml"
function search()
if keyword.Value="" then
msgbox "Input the keyword first!!!"
else
key=keyword.value
document.writeln "<html><head><meta http-equiv=Content-Type content=text/html; charset=gb2312>
<title>Cyber Class 网站文章检索(从标题查询)</title></head><body>Cyber Class
网站文章检索<br>
<br><table border=1 cellpadding=0 cellspacing=0 width=100% bordercolor=#000000
bordercolorlight=#000000bordercolordark=#FFFFFF><tr><td bgcolor=#108cd8><font color=#FFFFFF>
Title</font></td><td bgcolor=#108cd8><font color=#FFFFFF>Discribe</font></td><td bgcolor=#108cd8>
<font color=#FFFFFF>GO!</font></td></tr>"
Set objNodeList = xmldoc.getElementsByTagName("title")
Set objdiscList = xmldoc.getElementsByTagName("discribe")
Set objhrefList = xmldoc.getElementsByTagName("href")
For i = 0 To (objNodeList.length - 1)
if InStr(objNodeList.Item(i).Text,key)<>0 then
document.write "<tr><td>" & objNodeList.Item(i).Text & "</td>"
document.write "<td>" & objdiscList.Item(i).Text & "</td>"
document.write "<td><a href=" & objhrefList.Item(i).Text & " target=_blank>" & objhrefList.Item(i).Text &
"</a></td></tr>"
end if
Next
document.writeln "</table><a href=search.htm>返回</a><br><br><br>
注意:该查询系统
<font color=#ff0000>大小写敏感</font>,查询英文时若未返回结果请改换大小写再试。<br>
<p align=center>Powered by Lynne@ Cyber Class</p></body></html>"
end if
end function
function searchboth()
if keyword.Value="" then
msgbox "Input the keyword first!!!"
else
key=keyword.value
document.writeln "<html><head><meta http-equiv=Content-Type content=text/html; charset=gb2312>
<title>Cyber Class网站文章检索(从标题和摘要查询)</title></head><body>Cyber Class网站文章检索
<br><br><table border=1 cellpadding=0 cellspacing=0 width=100% bordercolor=#000000
bordercolorlight=#000000 bordercolordark=#FFFFFF><tr><td bgcolor=#108cd8><font color=#FFFFFF>
Title</font></td><td bgcolor=#108cd8><font color=#FFFFFF>Discribe</font></td><td bgcolor=#108cd8>
<font color=#FFFFFF>GO!</font></td></tr>"
Set objNodeList = xmldoc.getElementsByTagName("title")
Set objdiscList = xmldoc.getElementsByTagName("discribe")
Set objhrefList = xmldoc.getElementsByTagName("href")
For i = 0 To (objNodeList.length - 1)
if (InStr(objNodeList.Item(i).Text,key)<>0) or (InStr(objdiscList.Item(i).Text,key)<>0) then
document.write "<tr><td>" & objNodeList.Item(i).Text & "</td>"
document.write "<td>" & objdiscList.Item(i).Text & "</td>"
document.write "<td><a href=" & objhrefList.Item(i).Text & " target=_blank>" & objhrefList.Item(i).Text &
"</a></td></tr>"
end if
Next
document.writeln "</table><a href=search.htm>返回</a><br><br><br>
注意:该查询系统
<font color=#ff0000>大小写敏感</font>,查询英文时若未返回结果请改换大小写再试。<br>
<p align=center>Powered by Lynne @ Cyber Class 2001/6</p>
</body></html>"
end if
end function
-->
</script>
</head>
<body>
Cyber Class网站文章检索<br>
<br>Input the keyword:
<input type="text" id="keyword"><br><br>
<input type="button" value="仅在标题中查询" onclick="search()">
<input type="button" value="在标题和摘要中查询" onclick="searchboth()">
<br><br><br>

Ⅲ 在www服务器中,用户的信息检索可以从一台Web服务器自动搜索到另一台Web服务器,所用的技术是什么

Web通过超文本的方式,把Internet上不同计算机中的信息有机的结合在一起,并通过超文本传输协议(HTTP)从一台Web服务器转到另一台Web服务器上检索信息或链接其他Internet资源,用户只要单击这些超文本或超媒体,就能立即跳到与之相关的内容。由于Web信息资源数量十分庞大,用户在利用现有搜索引擎检索信息时面临一个海量数据的查询问题,往往造成在消耗巨大的通信资源后依然存在资源查不准、查不全的问题。目前基于单一系统映射的Web服务器集群系统能把若干服务器用局域网连接成一个整体,并使其从客户端看来就如同一台服务器在服务,这使得在逻辑上合并、组织地理位置分布的信息资源成为可能。∮∵慲怑鎃☆ 的感言: 谢谢咯...!

Ⅳ 电脑web服务器在哪打开

以Windows10系统为例,web服务器指的是网站服务器,可以浏览web文档,也可以放置网站文件,具体web文件的位置打开电脑--开始--控制面板--Internet Information Services后,在展开的节点里就可以看到相应的web程序信息了。

总的来说,web服务器就是一组提供web访问页面的服务器,Web服务器是一个程序,运行在物理服务器上,等待着客户端发送请求,当收到请求后,它会生成响应返回给客户端。严格意义上Web服务器只负责处理HTTP协议,只能发送静态页面的内容。所以web服务器一般也被称为HTTP服务器。

Ⅳ 搜索引擎是运行在Web上的_____软件系统

。。。。这种蛋疼的题目谁出的。
我猜下答案:
数据库
蜘蛛
机器人
智能
服务器

数据库 这个答案相当准确。。但是其他答案也没错。。

Ⅵ WEB服务器是指什么

Web服务器是指驻留于因特网上某种类型计算机的程序。当Web浏览器(客户端)连到服务器上并请求文件时,服务器将处理该请求并将文件发送到该浏览器上,附带的信息会告诉浏览器如何查看该文件(即文件类型)。服务器使用HTTP(超文本传输协议)进行信息交流,这就是人们常把它们称为HTTPD服务器的原因。
Web服务器不仅能够存储信息,还能在用户通过Web浏览器提供的信息的基础上运行脚本和程序。例如,假设你要提供免费公司资讯,只要建立一张免费请求表单,它就会要求你的读者输入邮寄及公司信息;读者填完表后,点击提交按钮,该表单将送至服务器计算机上的某一程序,它负责处理该请求,并用E-mail给读者发一份免费资讯。你还可以让该程序把客户提供的信息发给你,以便用于某数据库上。用于执行这些功能的程序或脚本称为网关脚本/程序,或称为CGI(通用网关界面)脚本。在Web上,你所见到的大多数表单和搜索引擎上都使用了该技术。

Web服务器可驻留于各种类型的计算机,从常见的PC到巨型的UNIX网络,以及其他各种类型的计算机。它们通常经过一条高速线路与因特网连接,如果对性能无所谓,则也可使用低速连接(甚至是调制解调器),但对于架设电子商店来说,性能绝对是要考虑的问题。

Ⅶ web与搜索引擎的联系

以下观点是个人观点(本人做才做2年的C#程序员,经验不足,有说得不对,请指教)
智能搜索引擎技术是web2.0中的一种应用,
Web2.0是以 Flickr、Craigslist、Linkedin、Tribes、Ryze、 Friendster、Del.icio.us、43Things.com等网站为代表,以Blog、TAG、SNS、RSS、wiki等应用为核心,依据六度分隔、xml、ajax等新理论和技术实现的互联网新一代模式。
智能搜索引擎技术:也用到了ajax技术,如网络知道里面,就可以不用刷新整个页面而更新部分内容,好多访问都是在后台进行的,界面友好,实时,同时也减少整页访问给服务器带来负担。虽然网络采用什么格式反应更新内容,但我猜想一定也用到了XML格式。

Ⅷ web搜索引擎属于人工智能吗

web搜索引擎是属于人工智能的

web(World Wide Web)即全球广域网,也称为万维网,它是一种基于超文本和HTTP的、全球性的、动态交互的、跨平台的分布式图形信息系统。

是建立在Internet上的一种网络服务,为浏览者在Internet上查找和浏览信息提供了图形化的、易于访问的直观界面,其中的文档及超级链接将Internet上的信息节点组织成一个互为关联的网状结构。


web的表现形式:

超文本是一种用户接口方式,用以显示文本及与文本相关的内容。现时超文本普遍以电子文档的方式存在,其中的文字包含有可以链接到其他字段或者文档的超文本链接,允许从当前阅读位置直接切换到超文本链接所指向的文字。

超文本的格式有很多,目前最常使用的是超文本标记语言(Hyper Text Markup Language,HTML)及富文本格式 (Rich Text Format,RTF)。我们日常浏览的网页上的链结都属于超文本。

超文本链接一种全局性的信息结构,它将文档中的不同部分通过关键字建立链接,使信息得以用交互方式搜索。

超媒体是超级媒体的简称。是超文本(hypertext)和多媒体在信息浏览环境下的结合。用户不仅能从一个文本跳到另一个文本,而且可以激活一段声音,显示一个图形,甚至可以播放一段动画。

Internet采用超文本和超媒体的信息组织方式,将信息的链接扩展到整个Internet上。Web就是一种超文本信息系统,Web的一个主要的概念就是超文本链接。

它使得文本不再像一本书一样是固定的线性的,而是可以从一个位置跳到另外的位置并从中获取更多的信息,还可以转到别的主题上。想要了解某一个主题的内容只要在这个主题上点一下,就可以跳转到包含这一主题的文档上。正是这种多连接性把它称为Web。

超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。

Ⅸ web服务器问题

例如,假设你要提供免费公司资讯,只要建立一张免费请求表单,它就会要求你的读者输入邮寄及公司信息;读者填完表后,点击提交按钮,该表单将送至服务器计算机上的某一程序,它负责处理该请求,并用E-mail给读者发一份免费资讯。你还可以让该程序把客户提供的信息发给你,以便用于某数据库上。用于执行这些功能的程序或脚本称为网关脚本/程序,或称为CGI(通用网关界面)脚本。在Web上,你所见到的大多数表单和搜索引擎上都使用了该技术。 Web服务器可驻留于各种类型的计算机,从常见的PC到巨型的UNIX网络,以及其他各种类型的计算机。它们通常经过一条高速线路与因特网连接,如果对性能无所谓,则也可使用低速连接(甚至是调制解调器),但对于架设电子商店来说,性能绝对是要考虑的问题。 1) 虚拟主机 虚拟主机是使用特殊的软硬件技术,把一台计算机主机分成一台台"虚拟"的主机,每一台虚拟主机都具有独立的域名和IP地址(或共享的IP地址),具有完整的因特网服务器功能。虚拟主机之间完全独立,在外界看来,每一台虚拟主机和一台独立的主机完全一样,用户可以利用它来建立完全属于自己的WWW、FTP和E-mail服务器。 虚拟主机技术的出现,是对因特网技术的重大贡献,是广大因特网用户的福音。由于多台虚拟主机共享一台真实主机的资源,每个用户承受的硬件费用、网络维护费用、通讯线路费用均大幅度降低,使因特网真正成为人人用得起的网络。现在,几乎所有的美国公司(包括一些家庭)均在网络上设立了自己的Web服务器。 虚拟主机服务提供者的服务器硬件构成的性能比较高,通讯线路也比较通畅,可以达到非常高的数据传输速度(可达45Mb/s),为用户提供了一个良好的外部环境;用户还不用负责机器硬件的维护、软件设置、网络监控、文件备份等工作。因而也就不需要为这些工作头痛和花钱了。 2) 服务器托管 服务器托管即租用ISP机架位置,建立企业Web服务系统。企业主机放置在ISP机房内,由ISP分配IP地址,提供必要的维护工作,由企业自己进行主机内部的系统维护及数据的更新。

Ⅹ 常用的搜索引擎有哪些

索引擎(search engines)是对互联网上的信息资源进行搜集整理,然后供你查询的系统,它包括信息搜集、信息整理和用户查询三部分。 搜索引擎是一个为你提供信息“检索”服务的网站,它使用某些程序把因特网上的所有信息归类以帮助人们在茫茫网海中搜寻到所需要的信息。 早期的搜索引擎是把因特网中的资源服务器的地址收集起来,由其提供的资源的类型不同而分成不同的目录,再一层层地进行分类。人们要找自己想要的信息可按他们的分类一层层进入,就能最后到达目的地,找到自己想要的信息。这其实是最原始的方式,只适用于因特网信息并不多的时候。随着因特网信息按几何式增长,出现了真正意义上的搜索引擎,这些搜索引擎知道网站上每一页的开始,随后搜索因特网上的所有超级链接,把代表超级链接的所有词汇放入一个数据库。这就是现在搜索引擎的原型。 随着yahoo!的出现,搜索引擎的发展也进入了黄金时代,相比以前其性能更加优越。现在的搜索引擎已经不只是单纯的搜索网页的信息了,它们已经变得更加综合化,完美化了。以搜索引擎权威yahoo!为例,从1995年3月由美籍华裔杨致远等人创办yahoo!开始,到现在,他们从一个单一的搜索引擎发展到现在有电子商务、新闻信息服务、个人免费电子信箱服务等多种网络服务,充分说明了搜索引擎的发展从单一到综合的过程。 然而由于搜索引擎的工作方式和因特网的快速发展,使其搜索的结果让人越来越不满意。例如,搜索“电脑”这个词汇,就可能有数百万页的结果。这是由于搜索引擎通过对网站的相关性来优化搜索结果,这种相关性又是由关键字在网站的位置、网站的名称、 标签等公式来决定的。这就是使搜索引擎搜索结果多而杂的原因。而搜索引擎中的数据库因为因特网的发展变化也必然包含了死链接。 这篇文章中,我们介绍了google,它是一个大型的搜索引擎(of a large-scale search engine)的原型,搜索引擎在超文本中应用广泛。Google的设计能够高效地抓网页并建立索引,它的查询结果比其它现有系统都高明。这个原型的全文和超连接的数据库至少包含24‘000‘000个网页。我们可以从http://google.stanford.e/ 下载。 设计搜索引擎是一项富有挑战性的工作。搜索引擎为上亿个网页建立索引,其中包含大量迥然不同的词汇。而且每天要回答成千上万个查询。在网络中,尽管大型搜索引擎非常重要,但是学术界却很少研究它。此外由于技术的快速发展和网页的大量增加,现在建立一个搜索引擎和三年前完全不同。 本文详细介绍了我们的大型搜索引擎,据我们所知,在公开发表的论文中,这是第一篇描述地如此详细。除了把传统数据搜索技术应用到如此大量级网页中所遇到的问题,还有许多新的技术挑战,包括应用超文本中的附加信息改进搜索结果。 本文将解决这个问题,描述如何运用超文本中的附加信息,建立一个大型实用系统。任何人都可以在网上随意发布信息,如何有效地处理这些无组织的超文本集合,也是本文要关注的问题。 关键词 World Wide Web,搜索引擎,信息检索,PageRank, Google 1 绪论 Web 给信息检索带来了新的挑战。Web上的信息量快速增长,同时不断有毫无经验的新用户来体验Web这门艺术。人们喜欢用超级链接来网上冲浪,通常都以象Yahoo这样重要的网页或搜索引擎开始。大家认为List(目录)有效地包含了大家感兴趣的主题,但是它具有主观性,建立和维护的代价高,升级慢,不能包括所有深奥的主题。基于关键词的自动搜索引擎通常返回太多的低质量的匹配。使问题更遭的是,一些广告为了赢得人们的关注想方设法误导自动搜索引擎。 我们建立了一个大型搜索引擎解决了现有系统中的很多问题。应用超文本结构,大大提高了查询质量。我们的系统命名为google,取名自googol的通俗拼法,即10的100次方,这和我们的目标建立一个大型搜索引擎不谋而合。 1.1网络搜索引擎—升级换代(scaling up):1994-2000 搜索引擎技术不得不快速升级(scale dramatically)跟上成倍增长的web数量。1994年,第一个Web搜索引擎,World Wide Web Worm(WWWW)可以检索到110,000个网页和Web的文件。到1994年11月,顶级的搜索引擎声称可以检索到2‘000’000(WebCrawler)至100‘000’000个网络文件(来自 Search Engine Watch)。可以预见到2000年,可检索到的网页将超过1‘000’000‘000。同时,搜索引擎的访问量也会以惊人的速度增长。在1997年的三四月份,World Wide Web Worm 平均每天收到1500个查询。 在1997年11月,Altavista 声称它每天要处理大约20’000’000个查询。随着网络用户的增长,到2000年,自动搜索引擎每天将处理上亿个查询。我们系统的设计目标要解决许多问题,包括质量和可升级性,引入升级搜索引擎技术(scaling search engine technology),把它升级到如此大量的数据上。 1.2 Google:跟上Web的步伐(Scaling with the Web)建立一个能够和当今web规模相适应的搜索引擎会面临许多挑战。抓网页技术必须足够快,才能跟上网页变化的速度(keep them up to date)。存储索引和文档的空间必须足够大。索引系统必须能够有效地处理上千亿的数据。处理查询必须快,达到每秒能处理成百上千个查询(hundreds to thousands per second.)。随着Web的不断增长,这些任务变得越来越艰巨。然而硬件的执行效率和成本也在快速增长,可以部分抵消这些困难。 还有几个值得注意的因素,如磁盘的寻道时间(disk seek time),操作系统的效率(operating system robustness)。在设计Google的过程中,我们既考虑了Web的增长速度,又考虑了技术的更新。Google的设计能够很好的升级处理海量数据集。它能够有效地利用存储空间来存储索引。优化的数据结构能够快速有效地存取(参考4.2节)。进一步,我们希望,相对于所抓取的文本文件和HTML网页的数量而言,存储和建立索引的代价尽可能的小(参考附录B)。对于象Google这样的集中式系统,采取这些措施得到了令人满意的系统可升级性(scaling properties)。 1. 3设计目标 1.3.1提高搜索质量我们的主要目标是提高Web搜索引擎的质量。1994年,有人认为建立全搜索索引(a complete search index)可以使查找任何数据都变得容易。根据Best of the Web 1994 -- Navigators ,“最好的导航服务可以使在Web上搜索任何信息都很容易(当时所有的数据都可以被登录)”。然而1997年的Web就迥然不同。近来搜索引擎的用户已经证实索引的完整性不是评价搜索质量的唯一标准。用户感兴趣的搜索结果往往湮没在“垃圾结果Junk result”中。实际上,到1997年11月为止,四大商业搜索引擎中只 有一个能够找到它自己(搜索自己名字时返回的前十个结果中有它自己)。导致这一问题的主要原因是文档的索引数目增加了好几个数量级,但是用户能够看的文档数却没有增加。用户仍然只希望看前面几十个搜索结果。因此,当集合增大时,我们就需要工具使结果精确(在返回的前几十个结果中,有关文档的数量)。由于是从成千上万个有点相关的文档中选出几十个,实际上,相关的概念就是指最好的文档。高精确非常重要,甚至以响应(系统能够返回的有关文档的总数)为代价。令人高兴的是利用超文本链接提供的信息有助于改进搜索和其它应用 。尤其是链接结构和链接文本,为相关性的判断和高质量的过滤提供了大量的信息。Google既利用了链接结构又用到了anchor文本(见2.1和2.2节)。 1.3.2搜索引擎的学术研究随着时间的流逝,除了发展迅速,Web越来越商业化。1993年,只有1.5%的Web服务是来自.com域名。到1997年,超过了60%。同时,搜索引擎从学术领域走进商业。到现在大多数搜索引擎被公司所有,很少技公开术细节。这就导致搜索引擎技术很大程度上仍然是暗箱操作,并倾向做广告(见附录A)。Google的主要目标是推动学术领域在此方面的发展,和对它的了解。另一个设计目标是给大家一个实用的系统。应用对我们来说非常重要,因为现代网络系统中存在大量的有用数据(us because we think some of the most interesting research will involve leveraging the vast amount of usage data that is available from modern web systems)。例如,每天有几千万个研究。然而,得到这些数据却非常困难,主要因为它们没有商业价值。我们最后的设计目标是建立一个体系结构能够支持新的关于海量Web数据的研究。为了支持新研究,Google以压缩的形式保存了实际所抓到的文档。设计google的目标之一就是要建立一个环境使其他研究者能够很快进入这个领域,处理海量Web数据,得到满意的结果,而通过其它方法却很难得到结果。系统在短时间内被建立起来,已经有几篇论文用到了Google建的数据库,更多的在起步中。我们的另一个目标是建立一个宇宙空间实验室似的环境,在这里研究者甚至学生都可以对我们的海量Web数据设计或做一些实验。 2. 系统特点 Google搜索引擎有两个重要特点,有助于得到高精度的搜索结果。 第一点,应用Web的链接结构计算每个网页的Rank值,称为PageRank,将在98页详细描述它。 第二点,Google利用超链接改进搜索结果。 2.1 PageRank:给网页排序 Web的引用(链接)图是重要的资源,却被当今的搜索引擎很大程度上忽视了。我们建立了一个包含518‘000’000个超链接的图,它是一个具有重要意义的样本。这些图能够快速地计算网页的PageRank值,它是一个客观的标准,较好的符合人们心目中对一个网页重要程度的评价,建立的基础是通过引用判断重要性。因此在web中,PageRank能够优化关键词查询的结果。对于大多数的主题,在网页标题查询中用PageRank优化简单文本匹配,我们得到了令人惊叹的结果(从google.stanford.e可以得到演示)。对于Google主系统中的全文搜索,PageRank也帮了不少忙。 2.1.1计算PageRank 文献检索中的引用理论用到Web中,引用网页的链接数,一定程度上反映了该网页的重要性和质量。PageRank发展了这种思想,网页间的链接是不平等的。 PageRank定义如下: 我们假设T1…Tn指向网页A(例如,被引用)。参数d是制动因子,使结果在0,1之间。通常d等于0.85。在下一节将详细介绍d。C(A)定义为网页A指向其它网页的链接数,网页A的PageRank值由下式给出: PR(A) = (1-d) + d (PR(T1)/C(T1) + ... + PR(Tn)/C(Tn)) 注意PageRank的形式,分布到各个网页中,因此所有网页的PageRank和是1。 PageRank或PR(A)可以用简单的迭代算法计算,相应规格化Web链接矩阵的主特征向量。中等规模的网站计算26‘000’000网页的PageRank值要花费几小时。还有一些技术细节超出了本文论述的范围。 2.1.2直觉判断 PageRank被看作用户行为的模型。我们假设网上冲浪是随机的,不断点击链接,从不返回,最终烦了,另外随机选一个网页重新开始冲浪。随机访问一个网页的可能性就是它的PageRank值。制动因子d是随机访问一个网页烦了的可能性,随机另选一个网页。对单个网页或一组网页,一个重要的变量加入到制动因子d中。这允许个人可以故意地误导系统,以得到较高的PageRank值。我们还有其它的PageRank算法,见98页。 另外的直觉判断是一个网页有很多网页指向它,或者一些PageRank值高的网页指向它,则这个网页很重要。直觉地,在Web中,一个网页被很多网页引用,那么这个网页值得一看。一个网页被象Yahoo这样重要的主页引用即使一次,也值得一看。如果一个网页的质量不高,或者是死链接,象Yahoo这样的主页不会链向它。PageRank处理了这两方面因素,并通过网络链接递归地传递。 & nbsp; 2.2链接描述文字(Anchor Text)我们的搜索引擎对链接文本进行了特殊的处理。大多数搜索引擎把链接文字和它所链向的网页(the page that the link is on)联系起来。另外,把它和链接所指向的网页联系起来。这有几点好处。 第一,通常链接描述文字比网页本身更精确地描述该网页。 第二,链接描述文字可能链向的文档不能被文本搜索引擎检索到,例如图像,程序和数据库。有可能使返回的网页不能被抓到。注意哪些抓不到的网页将会带来一些问题。在返回给用户前检测不了它们的有效性。这种情况搜索引擎可能返回一个根本不存在的网页,但是有超级链接指向它。然而这种结果可以被挑出来的,所以此类的问题很少发生。链接描述文字是对被链向网页的宣传,这个思想被用在World Wide Web Worm 中,主要因为它有助于搜索非文本信息,能够用少量的已下载文档扩大搜索范围。我们大量应用链接描述文字,因为它有助于提高搜索结果的质量。有效地利用链接描述文字技术上存在一些困难,因为必须处理大量的数据。现在我们能抓到24‘000’000个网页,已经检索到259‘000’000多个链接描述文字。 2.3其它特点除了PageRank和应用链接描述文字外,Google还有一些其它特点。 第一,所有hit都有位置信息,所以它可以在搜索中广泛应用邻近性(proximity)。 第二,Google跟踪一些可视化外表细节,例如字号。黑体大号字比其它文字更重要。 第三,知识库存储了原始的全文html网页。 3有关工作 Web检索研究的历史简短。World Wide Web Worm()是最早的搜索引擎之一。后来出现了一些用于学术研究的搜索引擎,现在它们中的大多数被上市公司拥有。与Web的增长和搜索引擎的重要性相比,有关当今搜索引擎技术的优秀论文相当少。根据Michael Mauldin(Lycos Inc的首席科学家)) ,“各种各样的服务(包括Lycos)非常关注这些数据库的细节。”虽然在搜索引擎的某些特点上做了大量工作。具有代表性的工作有,对现有商业搜索引擎的结果进行传递,或建立小型的个性化的搜索引擎。最后有关信息检索系统的研究很多,尤其在有组织机构集合(well controlled collections)方面。在下面两节,我们将讨论在信息检索系统中的哪些领域需要改进以便更好的工作在Web上。 3.1信息检索信息检索系统诞生在几年前,并发展迅速。然而大多数信息检索系统研究的对象是小规模的单一的有组织结构的集合,例如科学论文集,或相关主题的新闻故事。实际上,信息检索的主要基准,the Text Retrieval Conference(),用小规模的、有组织结构的集合作为它们的基准。 大型文集基准只有20GB,相比之下,我们抓到的24000000个网页占147GB。在TREC上工作良好的系统,在Web上却不一定产生好的结果。例如,标准向量空间模型企图返回和查询请求最相近的文档,把查询请求和文档都看作由出现在它们中的词汇组成的向量。在Web环境下,这种策略常常返回非常短的文档,这些文档往往是查询词再加几个字。例如,查询“Bill Clinton”,返回的网页只包含“Bill Clinton Sucks”,这是我们从一个主要搜索引擎中看到的。网络上有些争议,用户应该更准确地表达他们想查询什么,在他们的查询请求中用更多的词。我们强烈反对这种观点。如果用户提出象“Bill Clinton”这样的查询请求,应该得到理想的查询结果,因为这个主题有许多高质量的信息。象所给的例子,我们认为信息检索标准需要发展,以便有效地处理Web数据。 3.2有组织结构的集合(Well Controlled Collections)与Web的不同点 Web是完全无组织的异构的大量文档的集合。Web中的文档无论内在信息还是隐含信息都存在大量的异构性。例如,文档内部就用了不同的语言(既有人类语言又有程序),词汇([email]地址,链接,邮政编码,电话号码,产品号),类型(文本,HTML,PDF,图像,声音),有些甚至是机器创建的文件(log文件,或数据库的输出)。可以从文档中推断出来,但并不包含在文档中的信息称为隐含信息。隐含信息包括来源的信誉,更新频率,质量,访问量和引用。不但隐含信息的可能来源各种各样,而且被检测的信息也大不相同,相差可达好几个数量级。例如,一个重要主页的使用量,象Yahoo 每天浏览数达到上百万次,于此相比无名的历史文章可能十年才被访问一次。很明显,搜索引擎对这两类信息的处理是不同的。 Web与有组织结构集合之间的另外一个明显区别是,事实上,向Web上传信息没有任何限制。灵活利用这点可以发布任何对搜索引擎影响重大的信息,使路由阻塞,加上为牟利故意操纵搜索引擎,这些已经成为一个严重的问题。这些问题还没有被传统的封闭的信息检索系统所提出来。它关心的是元数据的努力,这在Web搜索引擎中却不适用,因为网页中的任何文本都不会向用户声称企图操纵搜索引擎。甚至有些公司为牟利专门操纵搜索引擎。 4 系统分析(System Anatomy)首先,我们提供高水平的有关体系结构的讨论。然后 ,详细描述重要的数据结构。最后,主要应用:抓网页,索引,搜索将被严格地检查。 Figure 1. High Level Google Architecture 4.1Google体系结构概述这一节,我们将看看整个系统是如何工作的(give a high level),见图1。本节不讨论应用和数据结构,在后几节中讨论。为了效率大部分Google是用c或c++实现的,既可以在Solaris也可以在Linux上运行。 Google系统中,抓网页(下载网页)是由几个分布式crawlers完成的。一个URL服务器负责向crawlers提供URL列表。抓来的网页交给存储服务器storeserver。然后,由存储服务器压缩网页并把它们存到知识库repository中。每个网页都有一个ID,称作docID,当新URL从网页中分析出时,就被分配一个docID。由索引器和排序器负责建立索引index function。索引器从知识库中读取文档,对其解压缩和分析。每个文档被转换成一组词的出现情况,称作命中hits。Hits纪录了词,词在文档中的位置,最接近的字号,大小写。索引器把这些hits分配到一组桶barrel中,产生经过部分排序后的索引。索引器的另一个重要功能是分析网页中所有的链接,将有关的重要信息存在链接描述anchors文件中。该文件包含了足够的信息,可以用来判断每个链接链出链入节点的信息,和链接文本。 URL分解器resolver阅读链接描述anchors文件,并把相对URL转换成绝对URL,再转换成docID。为链接描述文本编制索引,并与它所指向的docID关联起来。同时建立由docID对组成的链接数据库。用于计算所有文档的PageRank值。用docID分类后的barrels,送给排序器sorter,再根据wordID进行分类,建立反向索引inverted index。这个操作要恰到好处,以便几乎不需要暂存空间。排序器还给出docID和偏移量列表,建立反向索引。一个叫DumpLexicon的程序把这个列表和由索引器产生的字典结合在一起,建立一个新的字典,供搜索器使用。这个搜索器就是利用一个Web服务器,使用由DumpLexicon所生成的字典,利用上述反向索引以及页面等级PageRank来回答用户的提问。 4.2主要数据结构经过优化的Google数据结构,能够用较小的代价抓取大量文档,建立索引和查询。虽然近几年CPU和输入输出速率迅速提高。磁盘寻道仍然需要10ms。任何时候Google系统的设计都尽可能地避免磁盘寻道。这对数据结构的设计影响很大。 4.2.1大文件大文件BigFiles是指虚拟文件生成的多文件系统,用长度是64位的整型数据寻址。多文件系统之间的空间分配是自动完成的。BigFiles包也处理已分配和未分配文件描述符。由于操纵系统不能满足我们的需要,BigFiles也支持基本的压缩选项。 4.2.2知识库 Figure 2. Repository Data Structure 知识库包含每个网页的全部HTML。每个网页用zlib(见RFC1950)压缩。压缩技术的选择既要考虑速度又要考虑压缩率。我们选择zlib的速度而不是压缩率很高的bzip。知识库用bzip的压缩率接近4:1。而用zlib的压缩率是3:1。文档一个挨着一个的存储在知识库中,前缀是docID,长度,URL,见图2。访问知识库不需要其它的数据结构。这有助于数据一致性和升级。用其它数据结构重构系统,我们只需要修改知识库和crawler错误列表文件。 4.2.3文件索引文件索引保存了有关文档的一些信息。索引以docID的顺序排列,定宽ISAM(Index sequential access mode)。每条记录包括当前文件状态,一个指向知识库的指针,文件校验和,各种统计表。如果一个文档已经被抓到,指针指向docinfo文件,该文件的宽度可变,包含了URL和标题。否则指针指向包含这个URL的URL列表。这种设计考虑到简洁的数据结构,以及在查询中只需要一个磁盘寻道时间就能够访问一条记录。还有一个文件用于把URL转换成docID。它是URL校验和与相应docID的列表,按校验和排序。要想知道某个URL的docID,需要计算URL的校验和,然后在校验和文件中执行二进制查找,找到它的docID。通过对这个文件进行合并,可以把一批URL转换成对应的docID。URL分析器用这项技术把URL转换成docID。这种成批更新的模式是至关重要的,否则每个链接都需要一次查询,假如用一块磁盘,322‘000’000个链接的数据集合将花费一个多月的时间。 4.2.4词典词典有几种不同的形式。和以前系统的重要不同是,词典对内存的要求可以在合理的价格内。现在实现的系统,一台256M内存的机器就可以把词典装入到内存中。现在的词典包含14000000词汇(虽然一些很少用的词汇没有加入到词典中)。它执行分两部分—词汇表(用null分隔的连续串)和指针的哈希表。不同的函数,词汇表有一些辅助信息,这超出了本文论述的范围。 4.2.5 hit list hit list是一篇文档中所出现的词的列表,包括位置,字号,大小写。Hit list占很大空间,用在正向和反向索引中。因此,它的表示形式越有效越好。我们考虑了几种方案来编码位置,字号,大小写—简单编码(3个整型数),紧凑编码(支持优化分配比特位),哈夫曼编码。Hit的详细信息见图3。我们的紧凑编码每个hit用2字节。有两种类型hit,特殊hit和普通hit。特殊hit包含URL,标题,链接描述文字,meta tag。普通hit包含其它每件事。它包括大小写特征位,字号,12比特用于描述词在文档中的位置(所有超过4095的位置标记为4096)。字号采用相对于文档的其它部分的相对大小表示,占3比特(实际只用7个值,因为111标志是特殊hit)。特殊hit由大小写特征位,字号位为7表示它是特殊hit,用4比特表示特殊hit的类型,8比特表示位置。对于anchor hit八比特位置位分出4比特用来表示在anchor中的位置,4比特用于表明anchor出现的哈希表hash of the docID。短语查询是有限的,对某些词没有足够多的anchor。我们希望更新anchor hit的存储方式,以便解决地址位和docIDhash域位数不足的问题。