1. 建立Google查询
Google查询的建立是一个过程。并没有所谓的不正确的查询。你有可能会创建一个效率低下的查询,但是,随着互联网的飞速发展以及Google缓 存大小的不断增大,今天一个效率低下的查询可能会在明天–或者下个月或者下一年提供好的搜索结果。有效的Google搜索需要扎实地掌握基本搜索语法, 需要很好地掌握有效的精确检索技术。Google的查询语法是很简单的,而有效的精确检索技术的学习则需要多花一些时间和一些实践。最终,你将了解它,并 且它将成为”鸡蛋里挑骨头”之举。
2. Google搜索的黄金法则
在我们讨论Google搜索之前,首先要理解一些基本法则:
Google查询是不区分大小写的。Google不管你的查询是小写的(hackers),大写的(HACKERS),大小写混合的 (hAcKeR)还是乱写的(haCKeR)–Google都同样对待它们。当你在进行类似搜索源代码列表的时候,字母的大小写对程序员来讲具有不同的 意义,那么此时这种处理就非常重要。其中,值得注意的一个例外是单词or。当它作为布尔操作符时,or必须为大写,即OR。
Google通配符。Google的通配符概念和程序员的通配符概念不同。大多数程序认为通配符可以是任一单一字母的字符表示(UNIX爱好者可能 会联想到问号符)或者是用星号表示的一系列字母。这种技术称为词干提取。在Google的通配符中,星号(*)仅代表搜索词组中的一个词。在一个词的开始 或者结尾使用星号和直接使用这个单词的效果相同。
Google保留忽略查询关键字的权利。Google会忽略一个搜索中的某些常用单词,字母和一些单独的数字。这些词汇常称为”停用词”(stop words)。Google的基本搜索文档(www.google.com/ help/basics.html)指出这些停用词包括where和how,如图1.12所示。不过,Google似乎会在搜索中包括这些词。例如,搜索 WHERE 1=1的结果要少于搜索1=1的结果。很明显搜索中包括了WHERE这个词。搜索”where pig”返回的结果明显少于简单地搜索”pig”,这再次表明:事实上,Google不会忽略类似how和where此类的词。有时,Google会一声 不响地忽略这些停用词。例如,搜索”HOW 1 = WHERE 4″时返回的结果数便与搜索1 = WHERE 4的结果数相同。看似单词HOW与搜索的结果无关,Google会默认将该单词忽略掉。忽略单词看似没有什么明显的规则,但是有时候当Google忽略一 个查询项时,它会在搜索结果页面的查询输入框的下方提醒用户。
(点击查看大图)图1.12?? 忽略查询中的单词 |
强制Google使用常见词汇的一种方法是把它们用引号引起来。这样即可将该查询作为一个短语提交,并且查询结果中会包括短语中的所有单词–不管 这些词是如何的常见。另外,你还可以在查询项之前添加一个+号,例如查询+and。不使用引号,同时注意不要在+号和单词and之间添加空格,那么这个查 询会返回将近50亿条结果。
Google搜索背景知识
扩大搜索的规模
一个非常有趣的搜索便是查询*。这个查询能产生大约180亿条结果,号称当今产生结果最多的查询。你能打破这个记录吗?
32个单词的限制。Google限制搜索关键字最多为32个单词,这在先前的10个单词的基础上已经得到了提升。这也包含高级操作符,我们将在稍后 讨论。对于大多数用户来说这个限制已经足够用了,不过当用户需要时,还是有办法突破这一限制的。一种非常有效地突破一次查询中不能超过32个关键字限制的 方法便是使用用通配符(*)来代替某些单词。Google不认为通配符是一个查询项,这使得你能够稍稍扩展查询。下面来看一下如何搜索美国宪法的前几个单 词:
we the people of the united states in order to form a more perfect union establish justice
这组查询有17个单词之长。如果我们用星号(通配符)来替换其中的一些单词,然后提交为:
“we * people * * united states * order * from * more perfect * establish *”
包括引号在内,Google将会把该查询看作是一个9个单词的查询(如果不算通配符的话,只有8个)。也可以进一步扩展我们的查询,即只使用两个以上实词和任意数量的通配符。