`
阅读更多

搜索引擎的概念

 

搜索引擎是一应用于web上的软件系统。该系统基于用户输入的查询关键字,在web上搜索、过滤相关信息,经整理后反馈给用户。整个过程所实现的最终效果是:搜索引擎通过对web的检索、过滤和整理,实现了面向用户需求的信息聚合。

      

 

 

 

搜索引擎按服务方式不同所进行的分类及各自特点

 

搜索引擎按服务方式的不同可分为目录式搜索引擎、全文搜索引擎和元搜索引擎三种。其中,目录式搜索引擎基于站点导航进行分类浏览,可看作网站的黄页查询。而我们所说的一般意义上的搜索引擎——全文搜索引擎,由下载系统、分析系统、索引系统和查询系统四部分组成,各部分各伺其职,实现了面向网页的全文检索。元搜索引擎没有自己的数据,它将用户查询需求同时提交给多个搜索引擎,然后将所有的查询结果按自己的算法进行筛选、整理后反馈给查询用户,它也是一种面向网页的全文检索。

     

 

 

 

搜索引擎的主要需求( 性能衡量指标)

 

互联网对搜索引擎的需求主要体现为查得快、查得全、查得准和查得稳四个方面。其中,“快”应快到秒级以下(商用搜索引擎到毫秒级),而影响快的主要因素有索引库的效率、分布查询的处理能力以及查询缓存的命中率几个方面;而“全”,则体现为查全率,反映的是搜索引擎能根据用户输入的关键字于web中打捞信息的能力,捞的越多,查全率越高;“准”自然是最重要的,因为用户往往关心的只是查出所有结果的前几条。“准”用查准率来衡量,即查出的相关文档总数与查出所有文档总数的比率。影响查准率的主要因素是网页排序算法(PageRank);而“稳”则指搜索引擎运行的稳定性,涉及文件的存储方式、查询系统和索引系统的设计几大方面。

          

 

 

 

搜索引擎体系结构概览

 

在搜索引擎的体系机构中,一个搜索引擎主要由下载系统、分析系统、索引系统和查询系统组成。下载系统负责web网页的爬取,并对其实施跟踪下载;分析系统负责对获取到的网页进行PageRank和中文分词工作;索引系统则主要负责网页的索引入库;查询系统是用户与搜索引擎进行交互的窗口,用于用户提交查询请求和为用户返回查询结果。

   

 

 

搜索引擎的下载系统

 

下载系统的主要任务就是对web网页进行爬取和跟踪下载。爬取任务由爬虫来执行,而在如此浩瀚、结构也相当复杂的互联网上快速爬取到所需要的网页需设计一科学、高效的爬取策略。根据互联网所呈现出的“蝴蝶结型”结构,对web的爬取主要采用宽度优先策略,种子站点选择目录型网页,更容易深入到位居蝴蝶结中右部的、反向连接较多的权威性网页,利于提高抓取效率和抓取准确率。此外,纵向上适当控制抓取深度(通常选用万维网的深度17),从而避免大量无效劳动和搜索资源的浪费。再者,抓取应考虑到万维网的实时更新问题,爬虫抓取应与互联网的更新保持同步。还有就是,要尽量避免重复抓取,并保证重要的网页优先被抓。避免重复抓取的有效方法就是记录历史,爬虫记录历史通过哈希表来实现,主要算法有bitmapBloom Filter算法,哈希函数通常借助于MD5。而网页的重要性取决于链接受欢迎度、链接重要度和平均链接深度三个因素。爬虫应保证重要度较高的网页优先被抓。最后,爬虫对web网页的抓取应严格遵守各被抓站点的Robot协议。

 

实际应用中,多采用多爬虫多调度的体系结构实现多爬虫并行抓取,以提升抓取效率,调度模块负责将抓取任务通过网页或者域名进行分解,使某个爬虫仅抓取某个域名段的网页。此外,网页库的存储访问方式也是影响抓取速度的一大关键,网页库的设计应尽量保证其可伸缩性、双访问模式及大规模更新的特点。

   

 

 

搜索引擎的分析系统

 

分析系统在搜索引擎的架构中承担了网页结构化、网页消重、文本分词以及PageRank计算4项基本任务。

 

为了更好地分析和理解下载系统所捕获的网页信息,分析系统首先会根据HTML文档半结构化的特点对其进行结构化分析,以使标签与内容相分离,并识别出有用的正文信息。网页结构化过程首先通过标签树进行分析得到文本对应的标签,然后通过投票算法确定正文及配图等仅从HTML标签无法判断出的网页数据。

 

经过网页结构化分析后,分析系统提炼出了网页的正文文本内容,而对于所捕获到的所有网页而言,重复是在所难免的。因此,分析系统的第二项任务就是查重、消重。查重通过特征抽取来实现。常用的有I-match算法和Shingle算法。消重遵循“保留先抓网页、消除后抓网页”的原则。

 

经过了网页的结构化和消重后,便可对内容进行分析和处理了。首先是要进行中文分词,即将正文文本中的各个句子切割成一个个小的词汇单元。中文分词可通过字典或统计学方法实现分词。常用的基于字典的分词方法有:正向最大匹配、逆向最大匹配和N-Gram方法;而基于统计学的方法立意于探索那些经常一起出现的词,多用于新词的发现。

 

分析系统还有一项非常重要的工作就是对下载系统所有捕获到的网页进行打分排序,以使与用户查询相关性最大的网页优先排在查询结果的最前面。常用PageRank算法对网页进行打分,其基本思想是对网页进行链接分析。链接分析的主要依据是:(1)认可度越高的网页越重要,即反向链接越多的网页越重要;(2)反向链接的源网页质量越高,被其指向的网页也越重要;(3)链接越少的网页越重要。

        

 

 

 

搜索引擎的索引系统

 

索引系统则主要负责网页的索引入库。现今搜索引擎对信息检索采用全文检索来实现,而全文检索通过关键词来检索,因此按照关键词创建倒排索引便成为索引系统的首要工作。倒排索引是一种以关键词和文档编号结合,并以关键词为主键的索引结构。倒排索引分为两部分:(1)由索引词组成的索引表,称为词典,其中保存了各种中文词汇以及这些词汇的一些统计信息;(2)由每个索引词出现过的文档集合,以及命中位置等信息组成的记录表。其中文档集合中的各个文档以文档编号唯一表示,其值为由URLMD5变换所得到的一个整型值,而文档集合就是包含索引词的所有文档所组成的序列。为了节省存储空间,该序列通常借助Variable Byte Coding方法来压缩表示。

 

在倒排文件的创建过程中主要涉及以下内容:

(1)       正排表与倒排表的合并:正排表与倒排表的合并过程就是将正排表中的数据追加到倒排表的过程,此处追加可逐条追加,也可将一个正排表(含多个DocId)通过对索引词的排序一次性或分批写入倒排表中。

(2)       多个临时倒排文件的归并:采用拉链法和二路归并(或多路归并)来实现。

(3)       倒排索引的分布式存储:有两种解决方案:局部方案是索引接点按DocId的不同将倒排文件分布在不同的索引节点上;而全局方案则按索引词的顺序将倒排文件分布在不同的索引节点上。一般认为局部方案稍佳。

  

 

 

搜索引擎的查询系统

 

查询系统是用户与搜索引擎进行交互的窗口,用于用户提交查询请求和为用户返回查询结果。查询系统对信息的检索主要采用将布尔模型与向量模型相结合的方式,布尔模型主要用于过滤出符合输入查询条件的文档列表;向量模型用于判断该文档列表所对应的文档向量与关键词向量的相似性。其中,向量模型中关键词权重的量化采用经典的TF/IDF方法来计算。而相似度则利用文档向量与关键词向量的夹角大小(余弦值)来判断,夹角小的(相关性大)排在前面。在利用布尔模型进行文档列表的输出时,涉及多文档列表的求交问题,通常采用按文档长短由短到长依次归并的方法来实现。而对利用向量模型所求出的相关文档则采用堆排序对文档进行排序,并按照相关度由小到大的顺序进行输出。查询系统的输出内容包括与查询相关的网页链接和与查询相关的自动摘要两大部分。其中,自动摘要的提取联合采用滑动窗口方法和投票算法来实现。

 

查询系统应尽量提高自身的效率和效果。效率即速度,主要通过引入搜索结果页缓存机制来实现。而效果主要指准确性,通过推测用户查询意图来实现。

      

 

 

 

总结

 

整体而言,可将搜索引擎体系统结构的四大部分分成两大块:分别是由下载系统、分析系统与索引系统组成的离线部分,和仅由查询系统自身组成的在线部分。离线部分承担了数据制作的工作,而在线部分则提供数据服务工作。为了使查询系统能为用户提供优质高效的数据查询服务。离线部分在日常的工作中需要做大量的工作,首先是由下载系统对网页进行及时而又全面的抓取,将网页下载到网页库。然后,再由分析系统对其进行网页结构化、消重以及中文分词和PR值的计算等工作。随后,索引系统将根据分析系统中文分词的结果以及经网页结构化所淅沥出来的正文文本内容,建立体现关键词与文档对应关系的倒排索引。索引系统的建立主要是为查询系统的高效运行提供强有力的支持。当用户在查询系统所提供的查询入口输入搜索关键词后,查询系统就会将查询关键字与索引系统中的检索关键词相对照,并查处出与该关键词相关的所有相关文档的内容。进而利用向量模型计算相关度,最后根据堆排序算法对这些文档按照相关度由大到小的顺序进行输出。

 

        

分享到:
评论

相关推荐

    第2章 搜索引擎概述.ppt

    搜索引擎与网络信息检索的课件 第2章 搜索引擎概述.ppt

    搜索引擎技术教程 搜索引擎原理精华 第1章-搜索引擎概述 共11页.pdf

    #### 一、搜索引擎概述 **搜索引擎定义及作用:** 搜索引擎是一种计算机程序或系统,其主要功能是在互联网上搜索、收集、整理并提供信息。随着互联网的飞速发展,万维网(World Wide Web, WWW)作为最受欢迎的服务...

    搜索引擎概述搜索引擎概述搜索引擎概述搜索引擎概述

    搜索引擎是互联网上用于信息检索的重要工具,通过特定的算法和数据处理,帮助用户在海量的网页中找到所需的内容。搜索引擎的主要工作流程包括抓取网页、处理网页和提供检索服务。 1. 抓取网页:搜索引擎使用蜘蛛...

    第1章 搜索引擎概述

    【搜索引擎概述】 1.1 搜索引擎的概念 搜索引擎并非直接搜索整个互联网,而是通过预先整理的网页索引数据库来提供搜索服务。一个完整的搜索引擎通常包括四个主要步骤:首先,使用爬虫程序(Spider System)自动...

    搜索引擎技术详细概述

    搜索引擎技术是互联网时代的核心组成部分,它使得用户能够高效地在海量信息中找到所需内容。本文将深入探讨搜索引擎技术的各个方面,包括其工作原理、主要组件、优化策略以及发展趋势。 一、搜索引擎工作原理 搜索...

    国外搜索引擎大全!!!

    【搜索引擎概述】 搜索引擎是互联网上用于寻找信息、网站、文件等各类资源的重要工具。它们通过爬取、索引和排名网络上的网页,帮助用户快速、有效地找到所需内容。本篇文章将详细探讨一些知名的国外搜索引擎,包括...

    搜索引擎相关技术研究概述

    #### 二、搜索引擎概述 搜索引擎是一种能够根据用户提供的关键词,在互联网中发现、搜集信息,并对这些信息进行分析、整理和存储,最终为用户提供检索服务的信息查询系统。搜索引擎的发展始于20世纪90年代后期,...

    网络搜索引擎毕业论文

    一、网络搜索引擎概述 网络搜索引擎是指通过互联网搜索和检索信息的计算机程序。它可以对互联网上的信息进行索引、分类和检索,使用户能够快速地找到所需的信息。搜索引擎通常由三个部分组成:爬虫(crawler)、...

    搜索引擎技术基础 课件

    **一、搜索引擎概述** 搜索引擎是一个结合了“搜”、“索”、“引擎”三大概念的系统。"搜"指的是从互联网中抓取大量信息,"索"是处理和存储这些信息,并进行快速检索,"引擎"则意味着系统需要具备强大的数据处理...

    .net元搜索引擎详解

    #### 二、搜索引擎概述 1. **发展现状**: - **综合搜索引擎**:如谷歌、百度等,覆盖所有类型的网页信息。 - **主题搜索引擎**:专注于某一特定领域,如本案例中的气象领域。 2. **工作原理**: - **爬虫技术*...

    搜索引擎原理与实践,课件

    首先,让我们从“ch01_搜索引擎概述.ppt”开始。这一章节可能包含了搜索引擎的基本定义、发展历史以及在互联网中的重要作用。它可能会解释搜索引擎是如何帮助用户在海量信息中找到所需内容的,并介绍一些知名的搜索...

    互联网搜索引擎PPT完整版

    **互联网搜索引擎概述** 互联网搜索引擎是连接用户与海量网络信息的关键桥梁,它们通过高效的数据处理和检索技术,使得用户能够快速找到所需的信息。本资源提供的PPT完整版详细讲解了搜索引擎的核心概念和技术,...

    JAVA基于网络爬虫的搜索引擎设计与实现.pdf

    一、搜索引擎概述 * 搜索引擎是指通过网络爬虫或蜘蛛来收集、处理和存储网络数据,以便用户快速地检索和获取所需信息的系统。 * 搜索引擎的应用非常广泛,如Google、Bing、Yahoo等都是搜索引擎的典型代表。 二、...

    高清彩版 自己动手写搜索引擎

    #### 搜索引擎概述 搜索引擎是现代互联网的基础应用之一,它通过网络爬虫技术抓取互联网上的信息,然后对这些信息进行索引和存储,最后根据用户的查询需求返回相关的搜索结果。本书《高清彩版 自己动手写搜索引擎》...

    基于Ruby+Java搜索引擎原理与实现

    一、搜索引擎概述 搜索引擎是互联网信息时代的关键工具,它通过爬取、索引和检索大量网页,为用户提供高效、精准的搜索服务。搜索引擎主要包括四个主要组件:网络爬虫、索引器、查询处理器和排名系统。 二、Ruby在...

    2009年中国搜索引擎用户行为研究报告

    第二章“搜索引擎概述”关注全球范围内的搜索引擎使用情况。这部分内容展示了全球搜索引擎用户的搜索数量,特别提到了美国和日本网民的搜索引擎使用习惯,这两个国家是全球互联网发展较为成熟的市场,其用户行为对...

Global site tag (gtag.js) - Google Analytics