最新消息
简介
特性
关于我们
邮件列表
所获奖项new
 
开始使用
FAQ
检索语法
索引文件格式
文档
论坛
 
程序&源代码
插件
相关资料
学术论文new
 
中科院计算所
学术讲座
搜索论坛
中科计算技术转移中心
CnPack开发网站
 
您现在的位置:首页 > 索引格式 > 正文
 

索引格式

 

作者:郭瑞杰 最后修改:2006-10-05

 
概述

FirteX索引包含一个或多个子索引,每个子索引都是相对独立的索引,这些子索引的文件以_[0-9]*打头,每个子索引包含如下信息:

  • 字段信息,包含文件:
    • .fdi文件:描述各个字段的基本信息
  • 词典信息
    • .tdi文件
  • Posting list信息(词所在文档编号及位置)
    • .dfi文件
    • .pti文件
  • 存储字段(即文档元数据或属性)
    • .dfm文件:
    • .fdv文件
  • 文档长度和Boost信息。
    • .n[1-9]*文件
  • 前向索引信息
    • .tvi文件
    • .tvd文件
    • .tvv文件
  • 删除文档信息
    • .del文件
  • barrels文件:描述整个索引的基本信息

各个文件格式描述规则如下:数据名称1(数据类型)|数据名称2(数据类型)|...

其中数据类型包括:

  • String:字符串,存储格式是:字符串长度(VInt32)|字符串内容
  • Byte:8位整数
  • Int32:32位整数
  • Int64:64位整数
  • UInt32:32位无符号整数
  • UInt64:64位无符号整数
  • VInt32:32位整数,变长存储
  • VInt64:64位整数,变长存储
 
barrels -索引基本信息

格式: VERSION(String) | LastModified(UInt64) | DocCounter(Int32) | BarrelCounter(Int32) | BarrelCount(Int32) | <BarrelName(String) | MinDocID(Int32) | DocCount(Int32) > BarrelCount

 
.fdi-字段信息,检索时装入内存

格式: FieldsCount(Int32)|<FieldName(String)|FieldAnalyzer (String)|FieldFlag(Int32)|TotalTermNum*(UInt64)|DistinctTermNum (UInt64)|TermPosition(Int64)|tdiLength(Int64)|dfiLength(Int64)| ptiLength(Int64) > FieldsCount

说明:

  • FieldAnalyzer-> 建立此字段索引的 Analyzer 名称 ;
  • FieldFlag->Type(Byte)|Bits(Byte) ;
  • TotalTermNum*-> 字段出现的词总数,仅当这个字段时索引字段时存在;
  • DistinctTermNum*-> 字段出现的非重复词总数,仅当这个字段时索引字段时存在;
  • TermPosition*-> 字段的词典数据起始位置,仅当这个字段时索引字段时存在;
  • tdiLength *-> 字段的词典数据( .tdi 文件)长度,仅当这个字段时索引字段时存在;
  • dfiLength *-> 字段的文档频率数据( .dfi 文件)长度,仅当这个字段时索引字段时存在;
  • ptiLength *-> 字段的位置数据( .pti 文件)长度,仅当这个字段时索引字段时存在;
 
.dfm-存储字段数据索引,每个文档占一项,指向.fdv文件位置

格式:<fieldpos(Int64)> TotalDocCount

 
.fdv-存储字段数据

格式: <StoredFieldCount(VInt32) | <FieldNum(VInt32) | FieldValueLen(VInt32) | FieldValue(bin data)> StoredFieldCount > TotalDocCount

 
.tdi-term信息

格式: TermCount(Int32) | <TermValue(VInt32) | df(VInt32) | DocPointer(VInt64) | PostingPointer (VInt64)> TermCount

 
.dfi-docid, freq 信息

格式: <LastDocID(VInt32) | Length(VInt32) | <DocID(VInt32) | Freq(VInt32)> df > TermCount

说明:

  • Length-> 压缩后长度
  • DocID-> 差量编码
 
.pti-Term位置信息

格式: <Length(VInt32)|<Pos(VInt32)> Freq > df

说明:

  • Pos->差量编码
 
.n[1-9]*-normalization factor,[1-9]*表示域编号,每个域一个norm文件

格式: <norm(Byte)> NumDocs

说明:NumDocs->文档总数

 
.tvi-term vector 索引

格式:<DocumentPosition(Int64)> NumDocs

说明:

  • DocumentPosition->该文档的词向量在.tvd文件中的偏移量
  • NumDocs->文档总数
 
.tvd-term vector document

格式:<NumFields(VInt32) |<FieldNum(VInt32) | FieldPositions(VInt64)> NumFields > NumDocs

说明:

  • NumFields->字段总数
  • FieldNum->字段ID
  • FieldPositions->字段词向量在.tvv文件中的偏移量
 
.tvv-term vector information

格式:

Case SEQUENCE NumTerms(VInt32) |<TermID(VInt32)> NumTerms

Case FREQ : NumTerms(VInt32) | NumDistinct (VInt32) |<TermID(VInt32) | TermFreqs(VInt32)> NumDistinct

Case POSITION : NumTerms(VInt32) | NumDistinct(VInt32) | <TermID(VInt32) |TermFreqs(VInt32) | <Position(VInt32)> TermFreqs > NumDistinct

说明:

  • NumTerms:词总数
  • TermID:词ID
  • NumDistinct:非重复词总数
  • TermFreqs:词频
  • Position : 词位置,差量编码 , 变长压缩
 
.del-已经删除的文档

格式:<deleteBit(Byte)> maxDeletedDocNum

 
软件许可证|BUG报告|联系我们

Copyright (c) 2005-2006 版权所有 中科院计算所智能软件部

SourceForge.net Logo
查看在SourceForge.net上的FirteX's Project Page