`
javahigh1
  • 浏览: 1288206 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

搜索引擎核心技术

 
阅读更多

这篇文章是关于搜索网站的理论知识,非常不错

搜索引擎的定义

搜索引擎是传统IR技术在Web环境中的应用。一般来说,搜索引擎是一种用于帮助用户在Internet上查询信息的搜索工具,它以一定的策略在Internet中搜索,发现信息,对信息进行理解,提取,组织和处理,并为用户提供检索服务,从而起到信息导航的目的。
搜索引擎的体系结构

典型的搜索引擎结构一般由以下三个模块组成:信息采集模块(Crawler),索引模块(Indexer),查询模块(Searcher)。
Crawler:从web中采集网页数据
Indexer:对Crawler采集数据进行分析生成索引。
Searcher:接受查询请求,通过一定的查询算法获取查询结果,返回给用户。
-->Crawler
Crawler负责页面信息的采集,工作实现基于以下思想:既然所有网页都可能链接到其他网站,那么从一个网站开始,跟踪所有网页上的所有链接,就有可能检索整个互联网。Crawler首先从待访问URL队列中获取URLs,根据URL从中抓取网页数据,然后对网页进行分析,从中获取所有的URL链接,并把它们放到待访问的URL队列中,同时将已访问URL移至已访问的URL队列中。不断重复上面的过程。
Crawler存在以下的关键问题:
>多线程抓取时的任务调度问题:
搜索引擎会产生多个Crawler同时对网页进行抓取,这里需要一个好的分布式算法,使得既不重复抓取网页,又不漏掉重要的站点。
>网页评估
在抓取网页时存在一定的取舍,一般只会抓20%左右的网页。评估算法中典型的油Google发明的Pgaerank。
>更新策略
每经过一段时间,Crawler对以抓取的数据经行更新,保证索引网页是最新的。
>压缩算法
网页抓取后,通过一定的压缩机制保存到本地,从而减少存储容量,同时也减少各服务器之间的网络通信开销
-->Indexer
搜索引擎在完成用户的检索请求时,并不是即时的检索Web数据,而是从预先采集的网页数据中获取。要实现对采集页面的快速访问,必须通过某种检索机制来完成。
页面数据可以用一系列关键字来表示,从检索毙敌来说,这些关键词描述了页面的内容,只要找到页面,便可以找到其中的关键词,反过来,通过关键词对页面创建索引,便可以根据关键字快速的找到相应的网页。
Indexer中存在的问题:
>索引存储:
一般来讲,数据量和索引量的比例接近1:1。索引的存储一般采用分布式策略,检索的数据分布在不同的服务器上。Google存储索引的服务器大概有1000多台。
>索引更新:
页面数据更新时,索引数据必须相应的更新。更新策略一般采用增量索引方式。
>索引压缩:
索引也存在数据压缩的问题。索引压缩是通过对具体索引格式的研究实现压缩。
>网页相似性支持:
索引的结构还必须为网页相似性分析提供支持。
>多语言,多格式支持:
网页数据具有多种编码格式,通过Unicode,索引支持多种编码查询。同时索引还必须有对Word,Excel等文件格式进行分析的功能。

-->Searcher
Searcher是直接与用户进行交互的模块,在接口上有多种实现的方式,常见的主要是Web方式。
Searcher通过某种接口方式,接受用户查询,对查询进行分词(stemming)处理,获取查询关键字。通过Indexer获取与查询关键字匹配的网页数据,经过排序后返回给用户。
Searcher中的问题:
>检索结果的排序:
对不同的用户采用不同的排序策略。
>排序结果排重:
排重可以提高结果数据的质量。
>检索结果的相似性分析:
主要用在类似网页功能中,需要在索引结构中提供支持。
>检索的速度:
主要依赖索引结构的设计。同时在体系结构上还有很多技术可以用来提升速度。如:Cache,负载均衡等。
相关核心技术:

分布式技术:
当搜索引擎处理数据达到一定规模时,为了提高系统的性能,必须采用分布式技术。Crawler通过多个服务器互相合作,提高数据采集的速度。Indexer在生成索引数据时通过并行算法,在不同机器上同时进行。Searcher也可以在不同的机器上进行同时查询,提高速度。
中文分词:
分词就是将连续的字序列按照一定的规范重新组合成词序列的过程。现有分词算法可以分为三大类:基于字符串比配的的分词方法,基于理解的分词方法和基于统计的分词方法。
网页排序:
现在搜索引擎中网页的 排序主要利用了页面间的链接关系,描述链接的文本以及文本自身内容,重要的链接分析算法有Hits和Pagerank,HillTop等。
海量数据存储:
搜索引擎的挑战之一就是处理数据的巨大,如何存储如此大的数据,数据的更新,快速的检索...
压缩技术:
压缩技术极大的减少了数据的大小,对于不同类型的数据,需要采用不同的压缩方法,主要的数据压缩主要有:网页数据的压缩和索引数据的压缩。选择压缩技术主要从开放性,速度与压缩比等多方面进行综合考虑。Google中选择了Alib(RFC1950)进行压缩,在压缩速度上Zlib超过Bzip,压缩比上Bzip好于Zlib。

分享到:
评论

相关推荐

    搜索引擎核心技术与实现

    《搜索引擎核心技术与实现》这本书由罗刚撰写,主要聚焦于搜索引擎的核心技术和具体实践,特别是使用Apache Lucene这一全文搜索引擎库的实现。以下是该书主要内容的详细解析: **搜索引擎总体结构** 搜索引擎是一...

    这就是搜索引擎 核心技术详解(1).pdf

    这就是搜索引擎 核心技术详解(1).pdf

    搜索引擎核心技术总体介绍

    **搜索引擎核心技术总体介绍** 搜索引擎是信息时代的核心工具之一,它基于全文检索技术,将互联网海量信息进行抓取、处理和存储,以便用户能够快速、准确地找到所需信息。搜索引擎的关键技术主要包括以下几个方面:...

    搜索引擎核心技术详解.pdf

    《搜索引擎核心技术详解》这本书深入探讨了搜索引擎的工作原理和关键技术,对于理解互联网信息检索系统具有重要价值。本书主要涉及以下几个核心知识点: 1. **搜索引擎概述**:搜索引擎是互联网上的信息索引和检索...

    这就是搜索引擎核心技术详解@学习笔记

    以上知识点涉及的书籍《这就是搜索引擎核心技术详解》详细介绍了搜索引擎的核心技术原理,而本文档则是在书籍的基础上进行了进一步的归纳和总结。对于想要深入学习搜索引擎技术的读者来说,阅读这本书籍将会是了解这...

    这就是搜索引擎-核心技术详解-清晰完整版

    搜索引擎是互联网上帮助用户快速找到所需信息的重要工具,其核心技术包括网页爬虫、索引构建、查询处理、排名算法等多个部分。接下来,我们将逐一详细介绍这些核心技术的知识点。 首先,网页爬虫(Web Crawler)是...

    搜索引擎核心技术与算法-——-倒排索引初体验.pdf

    搜索引擎核心技术与算法 - 倒排索引初体验 在本篇文章中,我们将探讨搜索引擎核心技术与算法中的一个重要概念:倒排索引。倒排索引是一种常用的索引结构,广泛应用于搜索引擎、自然语言处理和信息检索等领域。通过...

    搜索引擎核心技术与算法-——-倒排索引初体验.rar

    倒排索引作为搜索引擎核心技术之一,极大地提升了搜索效率。本篇将深入探讨倒排索引的概念、构造过程及其在实际应用中的作用。 一、倒排索引概述 倒排索引(Inverted Index)是一种用于快速全文检索的数据结构,它...

    搜索引擎核心技术与工作原理分析及其应用场景介绍

    内容概要:本文详细介绍了搜索引擎的工作机制和技术构成,重点探讨了其核心技术,包括网络爬虫、检索排序、网页处理、大数据处理和自然语言处理技术,解析了索引与抓取、查询处理与排序、检索与展示三个主要步骤的...

    [这就是搜索引擎:核心技术详解].张俊林.扫描版_20161019165654.pdf

    根据提供的文件信息,我们可以推断出这是一本关于搜索引擎核心技术的书籍。虽然具体的部分内容未给出,但基于书名、描述及标签,我们可以围绕搜索引擎的核心技术进行详细的解释与扩展。 ### 搜索引擎概述 搜索引擎...

    搜索引擎技术基础 课件

    **二、搜索引擎核心技术** 1. **中英文分词语言处理**:这是搜索引擎理解文本的关键步骤,分词的准确性和速度直接影响搜索结果的质量。搜索引擎需要实时更新词库,以处理新出现的词汇。 2. **排序算法**:搜索引擎...

    张俊林-著-[这就是搜索引擎:核心技术详解].张俊林.扫描版.zip

    这就是搜索引擎:核心技术讲解封面 这本书我没有看完,只看了前面两个对SEO影响比较大的章节,就是搜索引擎的爬虫系统和倒排索引的知识。 说的都是些纯理论,但是对于SEOer来着,这些都是不可或缺的知识面,看似...

    搜索引擎核心技术详解:爬虫、索引器与查询引擎的Python实现及其工作机制

    使用场景及目标:本资料可以帮助读者深入了解搜索引擎的底层架构和技术细节,特别是想要自行搭建小型检索系统的从业者或学生。同时也适用于高校开设的信息检索课程作为教学辅助材料。 其他说明:提供的Python代码仅...

    搜索引擎技术介绍 核心技术引擎比较

    搜索引擎的核心技术主要包括以下几个方面: 1. **中文分词**:中文分词是搜索引擎处理中文文本的关键步骤,它将连续的汉字序列切分成有意义的词汇单元。不同的分词算法会影响搜索结果的准确性,通常包括基于词典的...

    这就是搜索引擎:核心技术详解

    搜索引擎领域也是互联网应用中不多见的以核心技术作为其命脉的领域,搜索引擎各个子系统是如何设计的?这成为广大技术人员和搜索引擎优化人员密切关注的内容。 《这就是搜索引擎:核心技术详解》的最大特点是内容...

Global site tag (gtag.js) - Google Analytics