错误博客( 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)是分派的一种形式,索引表或部分索引表存储于多个站点,由此查询处理能够通过减少通信延迟进一步提高效率。对等搜索涉及较少的分布式组织形式,网络中的每一个节点维护自己的索引表和文档集合。
随机文章
如何伪原创内容(伪原创文章技巧有哪些)蜘蛛池原理(阿里蜘蛛池原子核蜘蛛池)
谷歌搜索修复了两个搜索错误
小小课堂:IIS7.5设置伪静态|URL Rewrite|HTTP 错误 404.0 – Not Found
社群运营的关键策略
DNF boss地火没法躲-其实有更简单的方法
DNF地下城中别具一格的附魔卡面-联动庆典大收集
LOL三路被破赏金却高达2850?网友:鬼才设计师

发表评论