就喜欢看你看不惯我又干不掉我的样子
5.3 正排索引 假定我们将每个网页进行唯一编号docid,经过前面的分词一个网页将被分成不同权重的多个实体词。 所谓正排就是根据docid可以拿到属于该网页的所有内容,是一个符合我们思维的正向过程,相对而言会有倒排索引。
我们以一篇《隐秘的角落》剧情简介的页面为例,模拟分词情况,大致如下(本分词结果纯属脑补,以实际为准): 在工程实践中需要根据自身情况和搜索引擎特点进行选择某种策略或者多种策略组合。 网络爬虫需要遵循Robots协议(网络爬虫排除标准),这是网络爬虫和站点之间的君子协定,站点通过协议告诉网络爬虫哪些可以抓哪些不可以。 网络爬虫同时需要考虑抓取频率,防止给站点造成过重负担,总之,搜索引擎的网络爬虫需要是个谦谦君子。 5. 网页内容处理模块
爬虫模块将网页内容存储之后,网页内存处理模块开始解析网页内容,主要工作包括:数据清洗、网页内容分词、建立正排索引、建立倒排索引等。 网络爬虫的基本流程:
在抓取过程中会有多种遍历策略:深度优先遍历DFS、广度优先遍历BFS、部分PageRank策略、OPIC在线页面重要性计算策略、大站优先策略等。 网络爬虫模块 搜索引擎中的网络爬虫就是网页的搬运工,负责将互联网上允许被抓取的网页进行下载,如果把搜索引擎看作一家餐厅,网络爬虫模块就是餐厅的采购员。 内容处理模块 负责将网络爬虫下载的页面进行内容解析、内容清洗、主体抽取、建立索引、链接分析、反作弊等环节。 内容存储模块 存储模块是搜索引擎的坚强后盾,将抓取的原始网页、处理后的中间结果等等进行存储,这个存储规模也是非常大的,可能需要几万台机器。 用户解析模块 用户模块负责接收用户的查询词、分词、同义词转换、语义理解等等,去揣摩用户的真实意图、查询重点才能返回正确的结果。 内容排序模块 结合用户模块解析的查询词和内容索引生成用户查询结果,并对页面进行排序,是搜索引擎比较核心的部分。 接下来,我们将粗浅地介绍几个模块的基本内容和技术点。 4. 网络爬虫模块简介
网络爬虫模块是通用搜索引擎非常的基础组件,一般都会采用分布式爬虫来实现,我们来看看这个搬运工是如何实现海量网页发掘的: (编辑:江门站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |