Lemur的disk index
Manifest主要保存索引的XML文档集的统计信息和索引的元素结点的统计信息。一个示例如下:
<parameters>
<code-build-date>Apr 10 2008</code-build-date>
<corpus>
<document-base>1</document-base>
<frequent-terms>2</frequent-terms>
<maximum-document>9</maximum-document>
<total-documents>8</total-documents>
<total-terms>35231</total-terms>
<unique-terms>5799</unique-terms>
</corpus>
<fields>
<field>
<byte-offset>0</byte-offset>
<isNumeric>false</isNumeric>
<isOrdinal>false</isOrdinal>
<name>article</name>
<total-documents>8</total-documents>
<total-terms>35182</total-terms>
</field>
<field>
<byte-offset>48</byte-offset>
<isNumeric>false</isNumeric>
<isOrdinal>false</isOrdinal>
<name>body</name>
<total-documents>7</total-documents>
<total-terms>1956</total-terms>
</field>
<indri-distribution>Indri development release 2.6</indri-distribution>
<type>DiskIndex</type>
</parameters>
Corpus:主要记录索引的文档的总数,单词的总数,不重复的单词的总数,文档编号的起始值、目前已使用的最大值,f>1000的单词的个数。
Field:主要记录索引的元素结点的统计信息,主要包括元素结点的倒排索引在fieldFile的起始位置,是否是数字类型的,出现在多少个文档中,包含的单词的总数。
Corpus:主要记录索引的文档的总数,单词的总数,不重复的单词的总数,文档编号的起始值、目前已使用的最大值,f>1000的单词的个数。
Field:主要记录索引的元素结点的统计信息,主要包括元素结点的倒排索引在fieldFile的起始位置,是否是数字类型的,出现在多少个文档中,包含的单词的总数。
invertedFile主要存储单词的倒排序索引,它主要存储包含这相单词的所有文档,和在这些文档中的位置,文档用文档编号documentId表示,位置position用这个单词之前的单词个数表示,由于一个文档中可能包含多个相同的单词,所以在存储位置信息时采用了RVL压缩算法。要查找指定单词的倒排序索引,可先查找frequentString或infrequentString,从查找到的DiskTermData中找出索引在invertedFile中的起始位置和长度,迅速定位该单词对应的倒排索引。invertedFile的示例如表四所示。
表四
TermData |
documentId,position size,position1,positon2… documentId,position size,position1,positon2… |
TermData |
documentId,position size,position1,positon2… documentId,position size,position1,positon2… |
TermData |
documentId,position size,position1,positon2… documentId,position size,position1,positon2… |
fieldsFile主要存储元素结点的倒排过引,和单词的倒排索引类似,主要包括所在的文档编号,元素结点的开始编号extent.begin、结束编号extent.end,序号 extent. Ordinal,序号表示在文档中的先后次序,是从1开始记数的。元素结点的开始编号和结束编号,就是结点前的单词的个数。fieldsFile的示例如表五所示。
表五
UINT8 control (numeric ? 0x02 : 0 | ordinal ? 0x04 : 0), docid, extents size, extent.begin, extent.end, extent. ordinal docid, extents size, extent.begin, extent.end, extent. ordinal |
UINT8 control (numeric ? 0x02 : 0 | ordinal ? 0x04 : 0), docid, extents size, extent.begin, extent.end, extent. ordinal docid, extents size, extent.begin, extent.end, extent. ordinal |
UINT8 control (numeric ? 0x02 : 0 | ordinal ? 0x04 : 0), docid, extents size, extent.begin, extent.end, extent. ordinal docid, extents size, extent.begin, extent.end, extent. ordinal |
documentLengths 里面存放着一个一个的32位整数,表明每个文档长度。
documentStatistics主要按照索引的顺序,依次存入每个文档DocumentData这个结构体,DocumentData结构体中包含的字段表六所示。由于每个DocumentData结构体的长度是固定的,所以可根据(docid-1)*sizeof(DocumentData)来查找文档对应的DocumentData结构体。
表六
UINT64 offset |
该文档的结构信息在directFile中的起始位置 |
int byteLength |
该文档的结构信息在directFile中的长度 |
int indexedLength |
去除stopword后,文档单词个数 |
int totalLength |
不去除stopword后,文档单词个数 |
int uniqueTermCount |
文档中不重复的单词个数 |
directFile主要存放每个文档中单词和元素结点的信息,包括数量和位置,根据这些信息,可重构文档的整个结构。示例结构如表七所示。
表七
termCount, fieldCount,termid1,termid2,…fields1.id, fields1. parentOrdinal, fields1. begin, fields1. end, fields1. number,… |
termCount, fieldCount,termid1,termid2,…fields1.id, fields1. parentOrdinal, fields1. begin, fields1. end, fields1. number,… |
termCount, fieldCount,termid1,termid2,…fields1.id, fields1. parentOrdinal, fields1. begin, fields1. end, fields1. number,… |
Lemur的disk index相关推荐
- 运维人员处理云服务器故障的方法总结
2019独角兽企业重金招聘Python工程师标准>>> 我们团队为Ucloud云计算服务提供专家技术支持,每天都要碰到无数的用户故障,毕竟IAAS涉及比较底层的东西,不管设计的是大客 ...
- 在服务器上排除问题的头五分钟
一.尽可能搞清楚问题的前因后果 不要一下子就扎到服务器前面,你需要先搞明白对这台服务器有多少已知的情况,还有故障的具体情况.不然你很可能就是在无的放矢. 必须搞清楚的问题有: 故障的表现是什么?无响应 ...
- 在服务器上排除问题的头 5 分钟
点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 来源 | http://blog.jobbole.com ...
- 【linux】关于分析系统问题的前几分钟
为了解决性能问题,你登入了一台Linux服务器,在最开始的一分钟内需要查看什么?你可以在几分钟内就对系统资源的使用情况和进程的运行状况有大体上的了解.无非是先查看错误信息和饱和指标,再看下资源的使用量 ...
- linux最小安装桌面,Linux工作环境:CentOS7最小安装+Xfce桌面环境
ref: https://blog.csdn.net/smstong/article/details/44802989 3.1 执行CentOS7 最小安装 去官网下载CentOS-7.0-1406- ...
- (转载)在服务器上排除问题的头5分钟
尽可能搞清楚问题的前因后果 不要一下子就扎到服务器前面,你需要先搞明白这台服务器有多少已知的情况,还有故障的具体情况,不然你很有可能是在无的放矢 必须要搞清楚的问题: 故障的表现是什么?无响应?报错? ...
- directx最终用户运行时_运维定位服务故障时,前5分钟都在忙啥?
遇到服务器故障,问题出现的原因很少可以一下就想到.我们基本上都会从以下步骤入手,这些也是绝大多数运维工程师在定位故障时前几分钟的主要排查点: 一.尽可能搞清楚问题的前因后果 不要一下子就扎到服务器前面 ...
- 快速恢复检测 恢复 故障服务器方法
源文地址http://devo.ps/blog/2013/03/06/troubleshooting-5minutes-on-a-yet-unknown-box.html First 5 Minute ...
- 旺旺上显示已上传服务器,在服务器上排除问题的头五分钟 | 旺旺知识库
遇到服务器故障,问题出现的原因很少可以一下就想到.我们基本上都会从以下步骤入手: 一.尽可能搞清楚问题的前因后果 不要一下子就扎到服务器前面,你需要先搞明白对这台服务器有多少已知的情况,还有故障的具体 ...
最新文章
- ASP.NET MVC4 传递Model到View
- Codeblocks配置EGE图形库
- 17.QT-事件处理分析、事件过滤器、拖放事件
- 神经网络前向引擎内存复用技术(基于caffe)
- java 十六进制转十进制_JAVA知识-分析JAVA中的重点和难点
- 编程语言_java_面试题0002
- android系统耗电如何关闭,安卓手机建议关闭这4大功能,耗电快的罪魁祸首?不用一天三充了...
- cortex a7 a53_最美轿跑之一的奥迪A7,究竟有何魅力令人一眼定心
- ubuntu 开发环境的配置 (转)
- oracle出现数据坏块ORA-01578 ORA-01110 ORA-26040解决办法。
- Visual Studio 2008系列教程(一):VS 2008安装详解!
- plsql 查看表结构所有的字段_plsql导出所有表的数据
- matlab 展开计算公式,钣金下料展开计算公式
- 网站被攻击怎么办如何解决
- 启动prometheus问题-opening storage failed
- git 创库命令使用
- 回顾2022,展望2023,一个普通程序员的自述和分享
- 牛啊,全国DNS服务器IP地址都在这里了
- 黏贴图片到word文档图片显示不全,只显示一行(保姆级图文)
- HTML京东快报页面,京东快报.html