Lucene 索引文件之tvd&&tvx&&tvm

在索引(Indexing)阶段,当某个域被设置为需要记录词向量(term vector)信息后,那么随后在flush阶段,该域对应的词向量将被写入到索引文件.tvd&&tvx&&tvm三个文件中。

图1:

  图1中,域名"content"跟"title"都被设置为需要记录词向量信息,而域名"author"则没有。

数据结构

索引文件.tvd

图2:

PackedIntsVersion

  PackedIntsVersion描述了压缩使用的方式,当前版本中是VERSION_MONOTONIC_WITHOUT_ZIGZAG。

Chunk

图3:

  在索引阶段,每当处理128篇文档或者已经处理的域值的总长度达到4096,就生成一个chunk。

DocBase

  该字段描述的是chunk中第一篇文档的文档号。

ChunkDocs

  该字段描述的是Chunk中的文档数量。

NumFields

  该字段描述的是Chunk中每篇文档中记录词向量的域的数量。例如图1中只有一篇文档,这篇文档中的就包含了2个记录词向量的域。

  根据Chunk中包含的文档数量,NumFields字段的数据结构各不相同

Chunk中只包含一篇文档

图4:

  如果图1所示,那么NumFields的值为2,并且不会使用压缩存储

Chunk中包含多篇文档

图5:

  当包含多篇文档,那么需要记录每一篇文档中记录词向量的域的数量,然后使用PackedInts存储

FieldNums

  该字段描述的是Chunk中记录词向量的域的种类,根据域的编号来获得域的种类。

 

看这里:https://www.amazingkoala.com.cn/Lucene/suoyinwenjian/2020/1117/178.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值