索引构建

 我来答
会哭的礼物17
2022-07-27 · TA获得超过1.2万个赞
知道大有可为答主
回答量:6319
采纳率:100%
帮助的人:35.6万
展开全部

索引构建

索引器

索引器需要原始文本,但是文档可能采用多种编码格式,索引器对中间文件和最后的索引文件进行压缩或者解压缩,在web搜索中,文档往往并不是来自本地,必须要通过网络采集才能得到。

一个2007年度的典型计算机系统的参数如下表所示

与IR系统设计相关的硬件参数:

由于内存不足,必须采用基于磁盘的外部排序算法。为了达到可以接受的速度,对该算法的核心思想要求是: 在排序时尽量减少磁盘随机寻道的次数

基于块的排序索引算法(BSBI, blocked sort-based indexing algorithm)

基于快的排序索引算法将每个块的倒排索引存储文件 f1 ,...fn 中,最后合并成文件fmerged。

具体过程可以细化为:

基于块的倒排索引合并过程:将两个块从磁盘读入内存,然后在内存中进行合并,最后写回磁盘。

时间复杂度 :O(T logT),因为具有最高时间复杂度的步骤是排序,T是排序的项目数量上限(例如termID-docID对的数量)。但实际的索引时间通常由解析文档(ParseNextBlock)和完成最终合并(MergeBlocks)所花费的时间决定的。

优缺点 :该算法有很好的扩展性,但是需要一种将词项映射成其ID的数据结构,对于大规模的文档集合来说,该数据结构会很大,在内存中难以存放。

SPIMI 算法的流程如图所示,其中省略了文档分析以及将文档转换成词项—文档 ID 流(算 法中称为 token_stream)的过程。反复调用 SPIMI-INVERT 函数直到将全部的文档集处理完为止。

BSBI 和 SPIMI 的区别

在实际当中,文档集通常都很大,在单台计算机上很难高效地构建索引,因此Web搜索引擎通常使用分布式索引构建,索引结果也是分布式的,往往按照词项或者文档进行分片后分布在多台计算机上。

索引更新方法 :周期性地对文档集合从头开始进行索引重构。

实时性 :要实时检索到新文档,可以采用辅助索引。辅助索引存储新文档信息,记录在内存中,检索时同时遍历两个索引。文档的删除记录保存在一个无效位向量中。

引入辅助索引的解决办法

主辅索引合并分析:

对数合并

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
彩驰科技
2024-11-22 广告
互联网算法备案平台,专业代理代办,快速响应,高效办理!专业代理代办,快速办理,让您省时省力!专业团队为您提供优质服务,让您的互联网算法备案更顺利!咨询电话:13426378072,13436528688... 点击进入详情页
本回答由彩驰科技提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式