错误博客( cuowu.com )发布于 2019-06-10 17:40:51

搜索引擎索引的创建

搜索引擎索引的创建教程。内容包括:文档统计、加权、倒排和索引分派。

文档统计

文档统计组件的功能只是简单地汇总和记录词、特征及文档的统计信息。排序组件使用该信息来计算文档的分值。通常所需要的数据包括索引项在各文档中出现次数(词及更加复杂的特征)、索引项在文档中出现的位置、索引项在一组文档(如所有标记为“体育”的文档或者整个文档集合)中出现的次数,以及按照词素数量统计的文档长度。真正所需要的数据是由检索模型和排序算法来决定的。文档统计结果存储在查找表(lookup table)中,查找表是设计用于快速检索的一种数据结构。

加权

索引项的权值(weight)反映了文档中词的相对重要性,并且用于为排序计算分值。权值的形式是由检索模型来确定的。加权组件利用文档统计结果计算权值,并将权值存储在查找表中。权值的计算可以是查询处理的一部分,并且一些类型的权值需要关于查询的信息,但在索引过程中需要尽可能多的计算,这样可以提高查询处理的效率。

在过去的检索模型中,最普遍使用的一种加权方法称为 tf.idf。该方法有很多种变形,但是它们都基于索引项出现在一个文档中的次数或频率(词频,或者tf)以及索引项在整个文档集合中出现的频率(反文档频率,或者idf)两者的组合。idf 称为反文档频率,因为如果一个词素出现在少量的文档中,那么该词项被赋予较大的权值。idf 典型的计算公式是logN/n,其中N是搜索引擎索引的文档数量总数,n是包含一个特定词项的文档数量。

倒排

倒排(inversion)组件是索引处理的核心组件。它的任务是将文本转换组件传递过来的文档-词项信息流转换为词项-文档信息,以便于建立倒排索引。如何高效完成这项工作是极富挑战性的,不仅在索引初始创建时需要处理大量的文档,而且在爬虫或信息源得到新的文档时索引可以被及时更新。倒排索引设计用于快速的查询处理,并且在一定程度上依赖于所采用的排序算法。索引还被压缩以便于进一步提高效率。

索引分派

索引分派组件将索引分发给多台计算机,很可能是网络中的多个站点。分布式处理是网络搜索引擎效率的基础。通过分派文档子集的索引表(文档分派,document distribution),索引和查询处理都可以并行(parallel)进行。分派词项子集的索引(词项分派,term distribution)还能够支持查询的并行处理。复制(replication)是分派的一种形式,索引表或部分索引表存储于多个站点,由此查询处理能够通过减少通信延迟进一步提高效率。对等搜索涉及较少的分布式组织形式,网络中的每一个节点维护自己的索引表和文档集合。


2020年错误博客亲测项目系列

错误教程( cuowu.com )专注网推培训、SEO培训和网赚培训,微信/电话:13722793092

关注微信公众号:第一时间获得错误博客最新教程,让我们一起成长!

公众号二维码