这就是搜索引擎:核心技术详解(一书)
优采云 发布时间: 2021-05-21 01:01这就是搜索引擎:核心技术详解(一书)
摘要:我最近阅读了《这是搜索引擎:核心技术的详细说明》这本书,并做了简短记录。
__________________________________________________
内容
【1】搜索引擎概述
[2]搜索引擎的基本技术
[3]搜索引擎的平台基础
[4]搜索结果的改进和优化
__________________________________________________
【1】搜索引擎概述
在过去的15年中,Internet信息迅速发展,不再可能通过手工方法筛选和获取有用的信息。因此,出现了搜索引擎。根据其发展,它可以分为四个时代。
谈到发展,我不得不提到搜索引擎的三个主要目标。无论在哪里发展,以下三个目标始终是一个很好的评估标准:
[2]搜索引擎的基本技术
这部分主要从以下四个部分描述搜索引擎的基本技术,这也是搜索引擎的重要链接。
2. 1个Web爬网程序
网络采集器是搜索引擎的下载系统。它的功能是获取内容。该方法是通过万维网中的链接连续地爬网和采集各种网页。但是,Internet上有很多页面,并且每天都在不断产生新的内容。根据搜寻目标和范围,采集器可以简单地分为以下几类:
搜寻网页时,采集器应如何确定其下一个目标?主要策略如下:
接下来,简要介绍一下搜索引擎中的一个重要问题:暗网爬网。所谓的暗网是指难以通过常规方法进行爬网的网页,并且互联网上存在大量这样的网。某些网页没有外部链接,一些主要内容存储在数据库(例如Ctrip)中,并且没有指向这些记录的链接。暗网挖掘是商业搜索引擎的主要研究重点,谷歌就是这样,百度的“阿拉丁”计划也在这里。
2. 2创建索引
对于搜索引擎而言,搜索是最重要的核心技术之一。面对大量的网络内容,如何快速查找收录用户查询的所有网页?倒排索引在其中起着关键作用。
对于网页,我们将其视为文档,其内容由文字组成。为了快速提供用户搜索词的文档结果,我们必须建立单词文档存储结构。倒排索引是一种实现词文档矩阵的特定存储形式。通过倒排索引,您可以根据单词快速获取收录该单词的文档列表。倒排索引主要由两部分组成:单词字典和倒排文件。
单词字典主要以两种方式存储:散列加链接和树形结构。
如何创建索引:
([1)两次文档遍历
在扫描文档集合的第一阶段中,此方法不会立即开始建立索引,而是会采集一些全局统计信息。例如,文档集合中收录的文档数量为N,文档集合中收录的不同单词的数量M,以及每个单词出现在多少文档中的信息DF。获得上述三种类型的信息后,您可以知道最终索引的大小,然后在内存中分配足够的空间来存储反向索引的内容。在第二次扫描中,实际上建立了每个单词的倒排列表信息,即对于一个单词,收录该单词的每个文档的文档ID和文档TF中该单词出现的次数
([2)排序方法
排序方法对此进行了改进。在索引过程中,此方法始终在内存中分配固定大小的空间,以存储字典信息和索引的中间结果。当分配的空间用完时,此时,中间结果将写入磁盘,并且中间结果在内存中占据的空间将被清除,以用作下一个存储索引中间结果的存储区圆形的。此方法仅需要固定大小的内存,因此它可以索引任何大小的文档集合。
([3)合并方法
当分配的内存配额用完时,排序方法仅将中间结果写入磁盘,并且字典信息已保留在内存中。随着越来越多的文档被处理,词典中包括了更多的词典项目。越来越多,因此占用了越来越多的内存,导致后期阶段中间结果的可用内存越来越少。合并方法已对此进行了改进,也就是说,每次将内存中的数据写入磁盘时,都会将包括字典在内的所有中间结果信息写入磁盘,以便可以清空内存中的所有内容,并且随后的索引可以用于所有配额内存。
索引更新策略:
2. 3内容检索
内容检索模型是搜索引擎排名的理论基础,用于计算网页和查询的相关性。
常用的检索模型
检索系统评估指标
与查询相关
查询无关
在搜索结果中
A
B
不在搜索结果中
C
D
2. 4链接分析
搜索引擎找到可以满足用户请求的网页时,主要考虑两个因素:一是用户发送的查询与网页内容之间的内容相似性得分,即网页的相关性和查询;另一个是通过链接分析方法获得的分数是网页的重要性。链接分析是通过网络的链接结构获得网页重要性的一种方法。
有许多链接分析算法。从模型的角度来看,它们主要分为两类:
常用算法:
[3]搜索引擎的平台基础
这部分主要讨论搜索引擎的平台支持,主要是云存储和云计算模型。
对于商业搜索引擎,需要保存大量数据,并且需要处理这些*敏*感*词*海量数据。云存储和云计算是解决此问题的方法。
服务器上不能存在大量数据,它必须是分布式存储。更新数据时,这将导致多台服务器上的数据不一致,以及如何选择服务器的问题。
首先让我们介绍一些基本原则:
([1) CAP原则
CAP是一致性,可用性,分区容忍度的缩写,即一致性,可用性和分区容忍度。
对于数据系统,这三个原则不能兼得。云存储通常专注于CA,这会牺牲一些一致性。
([2) ACID原则
这是关系数据库采用的原理。它是原子性,一致性,隔离性,耐久性的缩写,即原子性,一致性,事务独立性和持久性。
([3) BASE原理
所采用的大型多云存储系统与ACID不同,它牺牲了强大的数据一致性以换取高可用性。因为用户可能对数据更改敏感,因此无法提供服务。
它的三个方面是:
Google的云存储和云计算架构
云存储:
云计算
其他云存储系统
[4]搜索结果的改进和优化
如前所述,搜索引擎追求的三个目标是更快,更全面和更准确。但是要实现这些目标并不是一件容易的事,并且需要处理许多链接。本部分主要从以下几个方面进行论述,如何改善搜索引擎的搜索结果,提高搜索质量,以及提高搜索性能。
4. 1作弊分析
作弊方法
反作弊的整体思想
(1)所谓的信任传播模型,其基本思想如下:在海量Web数据中,通过某些技术手段或手动和半手动手段,筛选出一些完全值得信赖的页面,这意味着页面(可以理解为白名单),该算法将白名单中的这些页面用作起点,并为白名单中的页面节点分配较高的信任度。白名单中的节点和白名单中的节点,由链接关系决定,白名单中的节点通过该链接关系向外扩展信任度,如果节点获得的信任度高于某个阈值,则认为没问题,并且低于此阈值的网页将被视为欺诈网页。
(2)在框架方面,不信任分发模型与信任分发模型类似。最大的不同是页面的初始子集不是可信任的页面节点,而是确认作弊采集存在的页面,即是不信任页面的集合(可以理解为黑名单),为该黑名单中的页面节点分配不信任分数,并通过链接关系传播该不信任关系;如果最后一个页面节点的不信任分数大于设置的阈值将被视为作弊网页。
(3)异常发现模型也是一个高度抽象的算法框架模型。其基本假设是:作弊网页必须具有与普通网页不同的功能。该功能可能是内容,也可能是链接制定特定算法的过程通常是查找作弊网页的集合,分析其异常特征,然后使用这些异常特征来识别作弊网页。
只要操纵搜索引擎搜索结果可以带来好处,那么作弊的动机就永远存在,尤其是在网络营销在宣传中扮演越来越重要的时代。作弊和反作弊是相互作用的过程,相互抑制,互相促进。 “一只脚高,一只脚高”的故事不断重复。前述内容主要基于进行反作弊的技术手段。实际上,仅凭技术手段不能完全解决作弊问题。有必要将人工和技术手段结合起来以获得更好的防作弊效果。技术方法可以分为相对通用的方法和相对特殊的方法。相对通用的方法对可能出现的新作弊方法具有一定的预防能力,但是由于其通用性,它们的针对性不强,并且对特殊的作弊方法有影响。不一定好。专用的防作弊方法通常是在只有当作弊发生并且很严重时才可以总结作弊的特征并在事后采用过滤方法。人工手段和技术手段是高度互补的。一旦出现新的作弊方法,就可以发现它们,并且可以将其视为进行作弊时的预防措施。因此,考虑到从时间维度上抑制作弊方法,一般的反作弊方法侧重于预防,人工方法侧重于检测,专用的反作弊方法侧重于后处理,它们具有内在的联系和互补关系。
4. 2分析用户意图
准确分析用户的搜索意图是搜索引擎研究的当前重点。
用户意图可以大致分为
搜索日志是挖掘用户意图的重要数据源
用户在搜索时可能不会想到合适的搜索词,或者在关键词中输入错误。目前,他们需要帮助用户弄清他们的搜索意图。
常用方法是:
4. 3网页重复数据删除
根据统计,互联网上相当大比例的网页大致相同或相同,高达29%。如果搜索返回大量相似的页面,显然会降低搜索结果的质量。针对这种现象,非常有必要删除重复的网页。
网页的重复数据删除通常在采集器对网页进行爬网之后以及对其编制索引之前执行。重复数据删除算法应同时考虑准确性和操作效率。
典型的网页重复数据删除算法:
几种典型的重复数据删除算法:
4. 4缓存机制
缓存机制可以加快用户响应速度并节省计算资源
缓存系统的目标是最大化缓存命中率,并保持缓存和索引的一致性
缓存的对象主要是网页搜索结果和与查询词相对应的倒排列表
缓存消除策略主要包括动态策略和混合策略