搜索引擎的系统架构
这里主要针对全文检索搜索引擎的系统架构进行说明,下文中提到的搜索引擎如果没有特殊说明也是指全文检索搜索引擎。搜索引擎原理与实践 源程序搜索引擎的实现原理,可以看作四步:从互联网上抓取网页→建立索引→在索引中搜索→对搜索结果进行处理和排序。
1、从互联网上抓取网页
利用能够从互联网上自动收集网页的网络蜘蛛程序,自动访问互联网,并沿着任何网页中的所有URL爬到其它网页,重复这过程,并把爬过的所有网页收集到服务器中。
2、建立索引
由索引系统程序对收集回来的网页进行分析,提取相关网页信息(包括网页所在URL、编码类型、页面内容包含的关键词、关键词位置、生成时间、大小、与其它网页的链接关系等),根据一定的相关度算法进行大量复杂计算,得到每一个网页针对页面内容中及超链中每一个关键词的相关度(或重要性),然后用这些相关信息建立网页索引。
3、在索引中搜索
当用户输入关键词搜索后,分解搜索请求,由搜索系统程序从网页索引中找到符合该关键词的所有相关网页。
4、对搜索结果进行处理排序
所有相关网页针对该关键词的相关信息在索引库中都有记录,只需综合相关信息和网页级别形成相关度数,然后进行排序,相关度越高,排名越靠前。最后由页面生成系统将搜索结果的链接地址和页面内容摘要等内容组织起来返回给用户。
下图是一个典型的搜索引擎系统架构图,搜索引擎的各部分都会相互交错相互依赖。其处理流程按照如下描述:

“网络蜘蛛”从互联网上抓取网页,把网页送入“网页”,从网页中“提取URL”,把URL送入“URL”,“蜘蛛控制”得到网页的URL,控制“网络蜘蛛”抓取其它网页,反复循环直到把所有的网页抓取完成。
系统从“网页”中得到文本信息,送入“文本索引”模块建立索引,形成“索引”。同时进行“链接信息提取”,把链接信息(包括锚文本、链接本身等信息)送入“链接”,为“网页评级”提供依据。
“用户”通过提交查询请求给“查询服务器”,服务器在“索引”中进行相关网页的查找,同时“网页评级”把查询请求和链接信息结合起来对搜索结果进行相关度的评价,通过“查询服务器”按照相关度进行排序,并提取关键词的内容摘要,组织最后的页面返回给“用户”。
搜索引擎的索引和搜索
下面咱们以Google搜索引擎为例主要介绍搜索引擎的数据索引和搜索过程。
数据的索引分为三个步骤:网页内容的提取、词的识别、标引库的建立。
互联网上大部分信息都是以HTML式存在,对于索引来说,只处理文本信息。因此需要把网页中文本内容提取出来,过滤掉一些脚本标示符和一些无用的广告信息,同时记录文本的版面式信息。词的识别是搜索引擎中非常关键的一部分,通过字典文件对网页内的词进行识别。对于西文信息来说,需要识别词的不同形式,例如:单复数、过去式、组合词、词根等,对于一些亚洲语言(中文、日文、韩文等)需要进行分词处理。识别出网页中的每个词,并分配唯一的wordID号,用于为数据索引中的标引模块服务。
标引库的建立是数据索引中结构最复杂的一部分。一般需要建立两种标引:文档标引和关键词标引。文档标引分配每个网页一个唯一的docID号,根据docID标引出在这个网页中出现过多少过wordID,每个wordID出现的次数、位置、大小写式等,形成docID对应wordID的数据列表;关键词标引其实是对文档标引的逆标引,根据wordID标引出这个词出现在那些网页(用wordID表示),出现在每个网页的次数、位置、大小写式等,形成wordID对应docID的列表。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-34163-4.html
宁可台湾寸草不生
iphone是什么
服了你