搜索引擎工作原理

搜索引擎为了以最快的速度得到搜索结果,它搜索的内容通常是预先整理好的网页索引数据库。

普通搜索,不能真正理解网页上的内容,它只能机械地匹配网页上的文字。

真正意义上的搜索引擎,通常指的是收集了互联网上几千万到几十亿个网页并对网页中的每一个文字(即关键词)进行索引,建立索引数据库的全文搜索引擎。

当用户查找某个关键词的时候,所有在页面内容中包含了该关键词的网页都将作为搜索结果被搜出来。在经过复杂的算法进行排序后,这些结果将按照与搜索关键词的相关度高低,依次排列。

典型的搜索引擎三大模块组成:
 
(一)信息采集模块
 
信息采集器是一个可以浏览网页的程序,被形容为“网络爬虫”。它首先打开一个网页,然后把该网页的链接作为浏览的起始地址,把被链接的网页获取过来,抽取网页中出现的链接,并通过一定算法决定下一步要访问哪些链接。同时,信息采集器将已经访问过的URL存储到自己的网页列表并打上已搜索的标记。自动标引程序检查该网页并为他创建一条索引记录,然后将该记录加入到整个查询表中。信息收集器再以该网页到超链接为起点继续重复这一访问过程直至结束。一般搜索引擎的采集器在搜索过程中只取链长比(超链接数目与文档长度的比值)小于某一阈值的页面,数据采集于内容页面,不涉及目录页面。在采集文档的同时记录各文档的地址信息、修改时间、文档长度等状态信息,用于站点资源的监视和资料库的更新。在采集过程中还可以构造适当的启发策略,指导采集器的搜索路径和采集范围,减少文档采集的盲目性。
 
(二)查询表模块
 
查询表模块是一个全文索引数据库,他通过分析网页,排除HTML等语言的标记符号,将出现的所有字或词抽取出来,并记录每个字词出现的网址及相应位置(比如是出现在网页标题中,还是出现在简介或正文中),最后将这些数据存入查询表,成为直接提供给用户搜索的数据库。
 
(三)检索模块
 
检索模块是实现检索功能的程序,其作用是将用户输入的检索表达式拆分成具有检索意义的字或词,再访问查询表,通过一定的匹配算法获得相应的检索结果。返回的结果一般根据词频和网页链接中反映的信息建立统计模型,按相关度由高到低的顺序输出。
营销型网站