搜索引擎原理

  • 格式:docx
  • 大小:355.77 KB
  • 文档页数:19

搜索引擎是怎样工作的 你在Google上键入几个词,几秒种内就可以得到-整屏高度相关的搜索结果。

虽然看起来为了显示搜索结果,Google一个个地扫描了所有的网页,但事实上,是缘于此前大量的准备工作一一搜索专家称之为预先编制索引(Indexing)。编制索引是为了创立搜索索引库一一这个特别的数据库,存储着一个列出了互联网所有网页上所有的词的列表。 2-2: ·匹配搜索请求。搜索引擎必须分析搜索者键入的词语,挑选出与这些词相匹配的网页。

·排序。大多数搜索请求都会有很多相匹配的结果,所以搜索引擎必须对匹配的网页进行筛选,以便使最适合的排在最上面。

·显示搜索结果。一旦挑选出了最适合的匹配网页,搜索引擎就在屏幕上显示给搜索者 2.1匹配搜索请求 搜索请求(Searchquery)是一个技术词,是指搜索者在搜索引擎上键入的用来搜索的词语。当某人在Baidu(或其他搜索引擎)上输入"百度SB",这就是一个搜索请求。专家通常将搜索请求中的每个词叫做一个搜索项(Searchterm)(这个例子中,"百度"和"SB"都是搜索项〉。从分析搜索请求开始,搜索引擎通过一些基本步骤来找到匹配的网页。

2.1.1公布搜索请求 一旦搜索者键入搜索请求并按下回车键,搜索引擎便开始分析搜索请求一一检查搜索请求的每个词(搜索项),并且决定怎样在搜索索引库中找到最匹配的网页。搜索引擎分析搜索请求的方式不尽相同,但有一些基本的分析技术是大多数搜索引擎所共同使用的。这些就是我们在这部分要讨论的。

同样,对搜索请求中的词简单地进行精确匹配,并不总能定位到搜索者实际想要的东西。但是搜索引擎做的并不仅仅是这些。我们己经看到搜索引擎为我们校正拼写,有的时候搜索引擎只是继续执行搜索,把我们引向拼写正确的词,但也经常询问我们"你是不是想搜索……"并且提示我们一个更常用的词语。对于搜索者很有用的功能,搜索引擎营销人员则要小心,有一些聪明的产品名字被故意设计成看起来是拼写错误的词语一-自动改正的功能会将产品名称更正到正确的词语,就会造成搜索者很难找到你的产品。而且如果顾客不能正确拼写你的产品名字时,拼写校正算法无法总能奏效,所以选些人们容易拼写的名字会对你大有益处。

口查找词组,非词组和停止词 词组(phrase)在搜索中和在平常使用时的意义稍有不同。你也许知道,大多数网络搜索引擎允许搜索者使用双引号将几个词放在一起作为一个词来搜索。搜索引擎称这些放在一起的词为"词组"。词组搜索者查找与搜索请求一模一样的词,包括词序在内。这种方法对于寻找特定的信息是很有用的。

你也许不知道的是,现代的搜索引擎分析搜索请求时,即使搜索者没有使用双引号,它也会寻找词组。搜索引擎能够辨别一些经常同时出现的词,井优先选择那些同时使用这些词的网页。

同样,许多搜索者键入一些绝非他们想要搜索的无关紧要的词,例如搜索请求写着"什么是治疗青光眼",你可以想象,"什么是"对于找到适合的网页毫无用处,甚至可能会误导搜索引擎去寻找含有"什么"和"是"的网页。这样的搜索项被称为"非词组"(antiphrases),会被聪明的搜索引擎所忽略(或者至少被当作是不重要的〉。

这对于搜索引擎营销人员来说是非常重要的。因为,可能你的一个产品品牌(例如Where'sWaldo①〉看起来更像一个搜索者的问题而不是真正的搜索请求。搜索引擎使用其他的技术来识别像"Wald在哪儿"这种流行的名字,但是如果你产品的品牌没那么有名,搜索引擎就可能无法处理得很好。如果你能够避免这种会迷惑搜索引擎的做作的名字,那么最好赶紧去做。

最后,一些词就是比其他的词更重要。极为常用的词(例如"a"或者"the")通常被称为"停止词"(stopword),因为在过去搜索引擎根本不会搜索它们。现代的搜索引擎时不时会注意到这些"停止词飞例如在你寻找摇滚乐队"TheWho"的时候。作为一个搜索引擎营销人员,如果你能够避免在品牌和商标名称中将这些停止词作为关键词,那么这些品牌和商标就会更容易被搜索到。

口检查词序 有些搜索引擎在执行搜索时会考虑词序的问题,因此当搜索例如"百度SB"和"SB百度"时,出现不同的搜索结果。这些搜索引擎会尝试按照搜索请求中的词序来搜索含有同样词序的网页。 对于搜索引擎营销人员来说。如果你的产品有一个不太连贯的名称如"广州妇科医院",那就有几种可能:"广州妇科医院"或是"存储广州医院妇科"。所以,尽可能使你的产品有个容易按词序记住的名字,这样会有助于被搜索到。

一旦搜索请求被分析之后,搜索引擎就必须决定显示哪些搜索结果。在存在如此多可能性的情况下,搜索引擎是怎样快速找到这些匹配结果的呢?付费搜索结果和自然搜索结果用的是不同的方法,我们先来看看自然搜索的方法。

口选择与自然搜索匹配的结果 自然搜索引擎使用其搜索索引库来定位最匹配的网页。基本上,通过分析搜索请求来决定查找什么词一一搜索引擎查看搜索请求中的每个词,看哪些网页包含这些词。

搜索索引库可以被看作是一个按字母顺序排列的列表,列出了互联网每一个网页上的每一个词(参看图表2-3)。这个索引库中有包含每个词的所有网页的列表。因此,当你查看"青光眼"这个词的时候,就会得到含有这个词的所有网页的列表。 图表2-3网页怎样被从索引库中找到示意。自然搜索引擎检查网页列表的索引,网页列表列出了包含搜索请求中的每个词的所有网页。

这是最简单的例子。当搜索者键入复杂-点的搜索请求时,事情就变得麻烦些了。如果搜索者正在寻找"青光眼治疗",于是搜索引擎会寻找含有每个关键词的网页,给出一个含有"青光眼"的网页列表和一个含有"治疗"的网页列表。大多数搜索引擎在面临这个情况时,会决定只显示同时包含两个词的网页。因此它们浏览两个列表,找到同时被列入两个列表的那些网页。

关于处理多个词语的搜索请求,一些搜索引擎有更加精细的规则。试想-个搜索请求例如"青光眼眼睛治疗”因为"眼睛"这个词比另外两个词更普通,有些搜索引擎可能会显示一些包含"青光眼"和"治疗"的网页,即使这些网页没有包含"眼睛"这个词。 评估自然搜索结果:什么是精确率和检索调用率(recall)。 搜索专家通常通过衡量精确率和检索调用率来评估自然搜索结果。

为匹配的网页排序:为自然搜索结果排序 仅仅将含有搜索请求词语的所有网页排列出来是没有多大用处的,尤其是这些网页太多。而且对于互联网搜索,情况几乎总是如此。因此,搜索引擎最重要的一部分是排序算法一一搜索引擎依靠这部分来决定哪些网页将出现在结果列表的顶端。

2.2.1为自然搜索结果排序 搜索引擎的自然搜索排序算法在搜索引擎设计中是最棘手的部分之一,所以我们从研究最简单的排序算法开始。

精确性和检索调用率彼此作用相反。如果一个搜索请求只得到一个问页,而且是正确的,这就是100%的精确(所有的答案是正确的)但是就检索调用率来看则可能是糟糕的(很可能还有许多其他的网页应该被发现)。同样的,如呆一个搜索请求找到了40亿个网页,是100%的检索调用率(所有的正确答案都被找到了,一个都没少),但是精确率就糟透了,因为绝大部分的结果是错误的。

检索调用率决定了 百度 他自己的命运! 排序只是"拣选"的另一种说法,是指按照一定顺序整理结果的行为。

百度使用的搜索引擎要处理十亿以上的网页,这就需要极为精密复杂的排序方式。对于某些种类的信息,例如新闻,按信息的日期排序(最新的靠前)。但是绝大多数自然搜索结果是按照"相关性"来排序的,也就是与搜索请求相匹配的程度。

"关键词"。

口关键词密度(Keyworddensity) 关键词密度,也叫关键词的权重,是非常重要的。在搜索的早期,关键词在网页上出现得越频繁越好。如果搜索者想要找的是"青光眼"这个词,一个网页中该词的词语出现频率是10次,就被认为比只出现2次的网页要好。(黑帽技术的开始)

搜索引擎对关键词密度采取了压制措施。现在当它们查看一个网页的特定关键词密度时,决定有大约7%的词和搜索请求匹配0%的关键词密度)就是好的匹配。(2%—7%)

那些关键词接近度(词语间彼此靠近)比较高的网页,尽可能高的关键词出现频率(最高到神奇的7%的极限)以及关键词彼此尽可能接近的网页。 口关键词突出度(Keywordprominence) 除了知道网页中含有搜索请求的词语外,知道这些词在网页上出现的位置是不是也很重要。

其他条件相同时,如果搜索请求的词语出现在网页的重要位置,如网页标题,它的排名就会比把这些词埋在底部的网页高。把搜索请求的词语放在标题和前儿段的网页被称为有较高的关键词突出度,因为比起其他页面关键词出现在更突出的位置。

搜索引擎实际上是一个模式匹配机器。它们被调教来识别网页与搜索请求高度匹配的不同模式一一有关键词匹配在突出位置这种模式的页面比其他网页的匹配度更强。

搜索引擎在网页的不同位置发现关键词时,它怎样评估关键词的突出程度呢?以下是主要的几类

·标题(Title)。对于搜索引擎而言,这是网页上最重要的部分。搜索结果页面上展示的正是标题,而且也出现在浏览器的窗口上。你可以认为一个网页的标题就像是一篇杂志文章的标题,它能够强有力地指出整个文章要讲什么。

大多数搜索引擎会更重视在使用加粗宇体的段落标题中找到的关键词,而对斜体或者有颜色的文本,会假设是关键词比较重要的出现。段落标题与杂志文章的粗体段落标题极为相近,能够断开连续的文字井指出下面段落要讲什么。