搜索引擎Google检索语法研究
2005-04-29苏云曹正民
苏 云 曹正民
Google是斯坦福大学博士生Larry Page和Sergey Brin共同创立的。它支持132种语言,资料库内包含24亿个网页、7亿个新闻档案和3.3亿个图形文件,如果用人工检索,每分钟1页,24小时不间断工作,需要5707年才能完成一遍搜索,而用Google检索不超过1秒种。Google现有15000多台服务器,200多条T3级宽带同时服务,这使得它在搜索网站界的地位进一步得以巩固。
Google的基本搜索语法
Boolean逻辑检索语法
Boolean是指乔治·布尔提出的代数运算法则,常见的三种运算符是“与”、“或”和“非”,即AND、OR和NOT。在Google分别用“ ”(空格)、“-”和“|”表示,其中AND运算符表示对所有的关键字同时进行搜索,OR运算符表示从几个关键字中指定任意一个,NOT运算符表示在搜索结果中不包括某个关键字。如果有两个或多个关键字,可以用括号连接,用运算符检索时,至少要求包含两个以上的关键字,最好用括号构成逻辑运算式进行检索。
强制搜索检索语法
在网页中经常包含有许多出现频率极高,但无实际意义的高频词,例如英文单词“a”、“the”和“i”等,中文的“的”和“啊”等,这些词汇被Google保存在一个无用词汇表中,但在检索中它们是不可缺少的。例如,要搜索一些关于www起源的历史资料,Google会把“www”和“的”都省略了,只搜索出关于“历史”方面的资料,显然不符合要求。因为Google把这个短语分成了“www”、“的”和“历史”3个词汇,而“www”和“的”被认为是无实际意义的词而忽略。如果要对忽略的关键字进行强制搜索,需要在该关键字前加上“+”号,或者将上述的短语用英文双引号括起来,Google就会进行强制搜索。特别注意用“短语”和“句子”检索是一种提高检准率非常有效的方法,但必须用英文引号将其括起来,最好配合“+”号同时使用。
通配符和外文字符大小写检索问题
Google支持通配符号,例如用“*”代表一连串字符,用“?”代表单个字符等,但对通配符支持有限,而且包含“*”必须用英文引号括起来。例如检索“以*治国”,搜索结果可以是“以法治国”、“以德治国”等。
Google对外文字符大小写不敏感,搜索Three、three和THREE会得到相同的检索结果。
Google的特殊检索语法
通常用基本搜索语法可以解决绝大部分检索问题,但要更准确的检索就需要了解特殊搜索语法,主要有限定标题的intitle、allintitle,限定查找网址链接的inurl、allinurl和link,限定查找特定网站的site等语法,这些语法可以直接在Google的查找框内输入,相当于命令行语法。
搜索的关键字包含在URL链接中
inurl语法返回的网页链接中包含检索的第一个关键字,后面的关键字则出现在链接中或者网页文档中,因为很多网站把某一类具有相同属性的资源名称显示在目录名称或者网页名称中,例如“MP3”、“GALLARY”和“Help”之类的目录中,可以用inurl语法找到这些相关资源的链接,用第二个关键词确定是否有某项具体资料。例如,查找MIDI曲《二泉映月》,检索语法是inurl:midi "二泉映月"。注意在“inurl:”后面不能有空格,也不允许URL中含有“/”等符号。
allinurl语法返回的网页链接中包含所有作用关键字,这个查询的关键字只集中于网页的链接字符串。例如查找可能具有PHF安全漏洞的公司网站,通常这些网站的CGI-BIN目录中含有PHF脚本程序,表现在链接中就是“域名/cgi-bin/phf”,搜索语法为:allinurl:"cgi-bin" phf +com。
搜索的关键字包含在网页标题和网页中
intitle和allintitle的用法类似于inurl和allinurl,其中intitle限制搜索的网页标题,allintitle搜索所有关键字构成标题的网页。例如查找著名作家巴金的照片集,检索语法为:intitle: 巴金 "照片集"。
intext只搜索网页
和/之间包含的关键词的部分,它忽略了标题、URL中含有的关键词,例如intext:"yahoo.com";allintext检索包含在中的所有关键词。对搜索网站进行限制
site语法可以限制搜索范围的域名,将搜索结果局限于某个具体网站或者网站频道内,例如限定在新浪网站的教育频道“edu.sina.com.cn”,或者是某个域名内,例如“com.cn”、“org”等,如果是要排除某网站或者域名范围内的页面,只需用“-网站/域名”。例如,搜索中文教育科研网站(edu.cn)上关于中学数学课件的页面,检索语法为:中学数学 课件 site:edu.cn。此外,网站域名不能有“http://”的前缀,也不能含有任何“/”的目录后缀,网站频道则只局限于“频道名.域名”方式,而不能是“域名/频道名”方式。
搜索所有链接到某个URL的网页
如果想知道有多少网站对一个学校主页或教师个人主页作了链接,link语法就能迅速达到这个目的。例如,搜索所有含指向清华大学链接的网页,检索语法为:link:www.tsinghua.edu.cn,即link语法得到的是一个所有包含了某个指定网址的页面列表,但是link语法不能与其他语法混合使用。link语法还有一个妙用,一般做友情链接的网站都有许多相似的方面,这样就可以通过这些友情链接,检索出一批具有相似内容的网站。例如,一个中国诗词爱好者发现某网站非常不错,就可以用link语法查一下与之做链接的网站,也许可以找到更多符合诗词方面有趣的内容。
Google高级搜索语法
在某一类文件中查找信息
Google不仅能搜索文字网页,还能对某些二进制文档进行检索,filetype就是一个非常强大实用的搜索语法,它已经能检索微软的Office文档(如xls、ppt、doc和rtf)、WordPerfect文档、Lotus1-2-3文档、Adobe的PDF文档和ShockWave的SWF文档(Flash动画)等。filetype也可以搜索各种不同的页面脚本语言,例如ASP、PHP和CGI等,filetype是搜索文件的后缀或者扩展名。其中最实用的文档搜索是PDF搜索,PDF是Adobe公司开发的电子文档格式,是一种图文并茂的综合性文档,现已经成为互联网电子出版的标准。目前Google检索的PDF文档大约有3000万左右,大约占所有索引的二进制文档数量的80%。
显示与某链接相关的一系列搜索
info语法提供一个和普通网址更多信息的页面列表,包括网址缓存的链接、网址的链接、网址相关的链接和包含网址的页面,即提供了cache、link、related和完全包含该链接的网页的功能。例如,查找101远程教育网首页相关的一些信息,检索语法为:info:www.chinaedu.com,这里搜索的结果取决于Google是否对该URL进行了索引,如果没有,搜索结果会很少。
对网页更新日期作出限定
daterange语法限制搜索特定时间段里的检索内容,这里特定时间是加入Google检索的时间,而不是页面创建的时间,它评价搜索引擎的好坏和更新频率的指标,它支持的日期格式为凯撒日格式(julian),Google提供通用日期数值切换成凯撒日格式的自动转换功能。检索语法为:"George Bush" daterange:2452389-2452389。
搜索的关键字包含在网页的“锚”链点内