一个搜索引擎由搜索器、索引器、检索器和用户接口等四个部分组成。
搜索器的功能是在互联网中漫游,发现和搜集信息,目前有两种搜集信息的策略:
a. 从一个起始URL集合开始,顺着这些URL中的超链(Hyperlink),以宽度优先、深度优先或启发式方式循环地在互联网中发现信息。这些起始URL可以是任意的URL,但常常是一些非常流行、包含很多链接的站点(如Yahoo!)。
b.将Web空间按照域名、IP地址或国家域名划分,每个搜索器负责一个子空间的穷尽搜索。
搜索器搜集的信息类型多种多样,包括HTML、XML、Newsgroup文章、FTP文件、字处理文档、多媒体信息。
搜索器的实现常常用分布式、并行计算技术,以提高信息发现和更新的速度。商业搜索引擎的信息发现可以达到每天几百万网页。
索引器的功能是理解搜索器所搜索的信息,从中抽取出索引项,用于表示文档以及生成文档库的索引表。
索引项有客观索引项和内容索引项两种:客观项与文档的语意内容无关,如作者名、URL、更新时间、编码、长度、链接流行度(Link Popularity)等等;内容索引项是用来反映文档内容的,如关键词及其权重、短语、单字等等。内容索引项可以分为单索引项和多索引项(或称短语索引项)两种。单索引项对于英文来讲是英语单词,比较容易提取,因为单词之间有天然的分隔符(空格);对于中文等连续书写的语言,必须进行词语的切分。
在搜索引擎中,一般要给单索引项赋与一个权值,以表示该索引项对文档的区分度,同时用来计算查询结果的相关度。使用的方法一般有统计法、信息论法和概率法。短语索引项的提取方法有统计法、概率法和语言学法。
索引表一般使用某种形式的倒排表(Inversion List),即由索引项查找相应的文档。索引表也可能要记录索引项在文档中出现的位置,以便检索器计算索引项之间的相邻或接近关系(proximity)。
索引器可以使用集中式索引算法或分布式索引算法。当数据量很大时,必须实现即时索引(Instant Indexing),否则不能够跟上信息量急剧增加的速度。索引算法对索引器的性能(如大规模峰值查询时的响应速度)有很大的影响。一个搜索引擎的有效性在很大程度上取决于索引的质量。
检索器的功能是根据用户的查询在索引库中快速检出文档,进行文档与查询的相关度评价,对将要输出的结果进行排序,并实现某种用户相关性反馈机制。
检索器常用的信息检索模型有集合理论模型、代数模型、概率模型和混合模型四种。
用户接口的作用是输入用户查询、显示查询结果、提供用户相关性反馈机制。
用户输入接口可以分为简单接口和复杂接口两种。
简单接口只提供用户输入查询串的文本框;复杂接口可以让用户对查询进行限制,如逻辑运算(与、或、非; 、-)、相近关系(相邻、NEAR)、域名范围(如.edu、.com)、出现位置(如标题、内容)、信息时间、长度等等。目前一些公司和机构正在考虑制定查询选项的标准。
搜索引擎的基本工作原理包括如下三个过程:首先在互联网中发现、搜集网页信息;同时对信息进行提取和组织建立索引库;再由检索器根据用户输入的查询关键字,在索引库中快速检出文档,进行文档与查询的相关度评价,对将要输出的结果进行排序,并将查询结果返回给用户。
每个独立的搜索引擎都有自己的网页抓取程序爬虫(spider)。爬虫Spider顺着网页中的超链接,从这个网站爬到另一个网站,通过超链接分析连续访问抓取更多网页。被抓取的网页被称之为网页快照。由于互联网中超链接的应用很普遍,理论上,从一定范围的网页出发,就能搜集到绝大多数的网页。
搜索引擎抓到网页后,还要做大量的预处理工作,才能提供检索服务。其中,最重要的就是提取关键词,建立索引库和索引。其他还包括去除重复网页、分词(中文)、判断网页类型、分析超链接、计算网页的重要度/丰富度等。
用户输入关键词进行检索,搜索引擎从索引数据库中找到匹配该关键词的网页;为了用户便于判断,除了网页标题和URL外,还会提供一段来自网页的摘要以及其他信息。
在搜索引擎分类部分提到过全文搜索引擎从网站提取信息建立网页数据库的概念。搜索引擎的自动信息搜集功能分两种。一种是定期搜索,即每隔一段时间(比如Google一般是28天),搜索引擎主动派出“蜘蛛”程序,对一定IP地址范围内的互联网站进行检索,一旦发现新的网站,它会自动提取网站的信息和网址加入自己的数据库。另一种是提交网站搜索,即网站拥有者主动向搜索引擎提交网址,它在一定时间内(2天到数月不等)定向向你的网站派出“蜘蛛”程序,扫描你的网站并将有关信息存入数据库,以备用户查询。由于搜索引擎索引规则发生了很大变化,主动提交网址并不保证你的网站能进入搜索引擎数据库,因此目前最好的办法是多获得一些外部链接,让搜索引擎有更多机会找到你并自动将你的网站收录。
当用户以关键词查找信息时,搜索引擎会在数据库中进行搜寻,如果找到与用户要求内容相符的网站,便采用特殊的算法——通常根据网页中关键词的匹配程度,出现的位置、频次,链接质量等——计算出各网页的相关度及排名等级,然后根据关联度高低,按顺序将这些网页链接返回给用户。
秀友百科词条内容均由网友提供,仅供参考。如发现词条内容有问题,请联系管理员。