在搜索引擎分类部分我们提到过全文搜索引擎从网站提取信息建立网页数据库的概念。搜索引擎的自动信息搜集功能分两种。一种是定期搜索,即每隔一段时间(比如Google一般是28天),搜索引擎主动派出"蜘蛛"程序,对一定IP地址范围内的互联网站进行检索,一旦发现新的网站,它会自动提取网站的信息和网址加入自己的数据库。
另一种是提交网站搜索,即网站拥有者主动向搜索引擎提交网址,它在一定时间内(2天到数月不等)定向向你的网站派出"蜘蛛"程序,扫描你的网站并将有关信息存入数据库,以备用户查询。由于搜索引擎索引规则发生了很大变化,主动提交网址并不保证你的网站能进入搜索引擎数据库,因此目前最好的办法是多获得一些外部链接,让搜索引擎有更多机会找到你并自动将你的网站收录。
当用户以关键词查找信息时,搜索引擎会在数据库中进行搜寻,如果找到与用户要求内容相符的网站,便采用特殊的算法--通常根据网页中关键词的匹配程度,出现的位置、频次,链接质量等--计算出各网页的相关度及排名等级,然后根据关联度高低,按顺序将这些网页链接返回给用户。
搜索引擎的原理可以分为:数据收集、建立索引数据库、索引数据库中搜索和排序。
1、数据收集:搜索引擎的自动信息收集功能分为两种类型,一种是定期搜索,即每隔一段时间,搜索引擎就会主动发送一个“蜘蛛”程序来搜索特定IP地址范围内的互联网站点,一旦发现一个新网站,它将自动提取该网站的信息和网址,并将其添加到自己的数据库中,另一种是提交网站搜索,即网站所有者主动向搜索引擎提交网站地址。
2、建立索引数据库:搜索引擎对收集的信息资源进行索引,编辑摘要以形成标准页面索引,并通过数据库管理系统建立相应的索引数据库,数据库中的每条记录基本上对应于一个网页,包括关键字、网页摘要、URL地址和其他信息。
3、索引数据库中搜索和排序:根据用户提出的查询要求,使用查询软件将其转换为计算机执行的命令,并在索引数据库中搜索符合条件的web记录,并根据相关度对搜索结果进行排序,相关度越高,排名越高,运行后,查询结果将返回给用户。
搜索引擎的工作原理简单来说可以分为三步:
1、信息采集模块
信息采集器是一个可以浏览网页的程序,被形容为“网络爬虫”。它首先打开一个网页,然后把该网页的链接作为浏览的起始地址,把被链接的网页获取过来,抽取网页中出现的链接,并通过一定算法决定下一步要访问哪些链接。
同时,信息采集器将已经访问过的URL存储到自己的网页列表并打上已搜索的标记。自动标引程序检查该网页并为他创建一条索引记录,然后将该记录加入到整个查询表中。信息收集器再以该网页到超链接为起点继续重复这一访问过程直至结束。
一般搜索引擎的采集器在搜索过程中只取链长比(超链接数目与文档长度的比值)小于某一阈值的页面,数据采集于内容页面,不涉及目录页面。在采集文档的同时记录各文档的地址信息、修改时间、文档长度等状态信息,用于站点资源的监视和资料库的更新。
在采集过程中还可以构造适当的启发策略,指导采集器的搜索路径和采集范围,减少文档采集的盲目性。
2、查询表模块
查询表模块是一个全文索引数据库,他通过分析网页,排除HTML等语言的标记符号,将出现的所有字或词抽取出来,
并记录每个字词出现的网址及相应位置(比如是出现在网页标题中,还是出现在简介或正文中),最后将这些数据存入查询表,成为直接提供给用户搜索的数据库。
3、检索模块
检索模块是实现检索功能的程序,其作用是将用户输入的检索表达式拆分成具有检索意义的字或词,再访问查询表,通过一定的匹配算法获得相应的检索结果。返回的结果一般根据词频和网页链接中反映的信息建立统计模型,按相关度由高到低的顺序输出。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)