问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

正排索引和倒排索引

发布网友 发布时间:2022-09-17 23:50

我来回答

1个回答

热心网友 时间:2023-10-18 21:32

倒排索引(英语:Inverted index),也常被称为反向索引置入档案反向档案,被用来存储在全文搜索下某个单词在一个文档或者一组文档中的存储位置的映射。它是文档检索系统中最常用的数据结构。

有两种不同的反向索引形式:

一条记录的水平反向索引(或者反向档案索引)包含每个引用单词的文档的列表。
一个单词的水平反向索引(或者完全反向索引)又包含每个单词在一个文档中的位置。
后者的形式提供了更多的兼容性(比如短语搜索),但是需要更多的时间和空间来创建。

所谓的正排索引是从索引文档到关键词到内容,倒排索引则是相反从关键词到词频,位置,目录等信息,现在通常用于搜索的。由于互联网上的数据量无限大,不可能存储足够多的文档,所以正排索引用处不大。

有两种不同的反向索引形式:

​我们就能得到下面的反向文件索引:

对相同的文字,我们得到后面这些完全反向索引,有文档数量和当前查询的单词结果组成的的成对数据。 同样,文档数量和当前查询的单词结果都从零开始。所以, "banana": {(2, 3)} 就是说 "banana"在第三个文档里 ( {\displaystyle T_{2}} T_{2}),而且在第三个文档的位置是第四个单词(地址为 3)。

如果我们执行短语搜索"what is it" 我们得到这个短语的全部单词各自的结果所在文档为文档0和文档1。但是这个短语检索的连续的条件仅仅在文档1得到。

反向索引数据结构是典型的搜索引擎检索算法重要的部分。
一个搜索引擎执行的目标就是优化查询的速度:找到某个单词在文档中出现的地方。以前,正向索引开发出来用来存储每个文档的单词的列表,接着掉头来开发了一种反向索引。 正向索引的查询往往满足每个文档有序频繁的全文查询和每个单词在校验文档中的验证这样的查询。
实际上,时间、内存、处理器等等资源的*,技术上正向索引是不能实现的。
为了替代正向索引的每个文档的单词列表,能列出每个查询的单词所有所在文档的列表的反向索引数据结构开发了出来。
随着反向索引的创建,如今的查询能通过立即的单词标示迅速获取结果(经过随机存储)。随机存储也通常被认为快于顺序存储。

索引的构建[4] 相当于从正排表到倒排表的建立过程。当我们分析完网页时 ,得到的是以网页为主码的索引表。当索引建立完成后 ,应得到倒排表 ,具体流程如图所示:
流程描述如下:
1)将文档分析称单词term标记,
2)使用hash去重单词term
  3)对单词生成倒排列表
  倒排列表就是文档编号DocID,没有包含其他的信息(如词频,单词位置等),这就是简单的索引。
  这个简单索引功能可以用于小数据,例如索引几千个文档。然而它有两点*:
  1)需要有足够的内存来存储倒排表,对于搜索引擎来说, 都是G级别数据,特别是当规模不断扩大时 ,我们根本不可能提供这么多的内存。
  2)算法是顺序执行,不便于并行处理。

归并法[4] ,即每次将内存中数据写入磁盘时,包括词典在内的所有中间结果信息都被写入磁盘,这样内存所有内容都可以被清空,后续建立索引可以使用全部的定额内存。
归并索引
归并索引
如图 归并示意图:
合并流程:
1)页面分析,生成临时倒排数据索引A,B,当临时倒排数据索引A,B占满内存后,将内存索引A,B写入临时文件生成临时倒排文件,
  2) 对生成的多个临时倒排文件 ,执行多路归并 ,输出得到最终的倒排文件 ( inverted file)。
合并流程
合并流程
索引创建过程中的页面分析 ,特别是中文分词为主要时间开销。算法的第二步相对很快。这样创建算法的优化集中在中文分词效率上。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
镇海立人中学好吗 镇海立人中学升学率 自考学位申请在什么时候 电子科大自考本科申请学士学位要多久 浙江自考毕业两年后还能考学士学位吗 自考学士学位申请超过时限怎么办 自考本科毕业后多久能申请学士学位 自考本科毕业后多久能申请学位 自考要在几年内考完才能申请学位证 春天可以种白菜吗 春天能不能种白菜 割双眼皮之后需要注意什么? 请问一下斗破苍穹ol怎么刷经验 斗破苍穹ol怎么刷经验? 斗破苍穹ol如何刷经验 请问斗破苍穹ol怎么刷经验 浙江义乌特产有哪些吃的 新闻传播学专业以后可以从事什么职业? 稻壳会员和wps会员区别 无需驾照的四轮电动车有哪些? 爱象新能源05手把式四轮三座电动车内配置什么样子 omsi2巴士mod报错怎么回事 58年出生的,属什么? 安妮雪莉和吉尔伯特结婚了吗 名侦探柯南中,雪莉和柯南是什么关系? 在小红书上花381买的YSL小金条18号,不知道真假,求懂的帮忙看看,谢谢🙏 如何构建自主、高效课堂 构建高效课堂的做法 5.编写测试用例的代码时,经常会使用到函数, 那么Python中函数是什么? 有什么作用? 如何使用? 请问传闻中的陈芊芊在哪里上映 党的十八大提出的"新五化"除了新型工业化和城镇化之外还包括哪些 从一个20G文件中查找某一个字符串,请问用什么数据结构算法能达到最优? 新玉绞子用小麦粉10千克多少钱 夏天手机高温怎么解决 夏天高温会对手机造成严重损伤吗 能使照片有重影效果的修图软件是什么 做重影图片可以用什么软件 手机可以的 这种重影图片怎么做,用什么软件?求详细做法 政审表该谁来填呢?【已回复】 戴黄金首饰对身体有什么好处 “一块()()的饼干”该怎么填词语? 商场里的货物整整齐齐地摆放着,有饼干,面包,糖果,后边填什么形容词 微信红包里的钱怎么提找 微信红包怎么查看,微信红包钱怎么取出来 形容处境像夹心饼干一样的成语 什么的零食 饼干 汉堡 面包哪个不是一类的词语有? 如何鉴定杏仁片、杏仁粉的质量 请问陈允斌在天天养生里介绍的杏仁粉面膜 该如何挑选杏仁粉,市面上的五花八门 歌词“带我走,去那遥远的以后”歌名是? 跟我走到遥远的以后谁知道这是什么歌 钟馗传说的介绍