欢迎来到Xugang的小屋
-
索引文件之fdx&&fdt(Lucene 7.5.0)
当STORE.YES的域生成了倒排表以后,将文档的域值信息写入到.fdt(field data)、.fdx(field index)文件中。 数据结构 .fdt 图1: ### ChunkSize ChunkSize作为一个参数,用来判... -
LZ4(Lucene 7.5.0)
LZ4 LZ4是一种无损数据压缩算法,着重于压缩和解压的速度,并且应用广泛。在Hadoop、Linux内核、文件系统都有应用,而在Lucene中,则是使用LZ4对倒排表的数据以及词向量(termVector)进行压缩存储。在本篇文章中,介绍LZ4F... -
倒排表(上)(Lucene 7.5.0)
本篇文章介绍如何生成倒排表,通过一个简单的例子来讲解倒排表的底层存储结构。文章中不会给出详细的源码介绍,只有一些必要的对象,感兴趣的朋友可以看我的GitHub,对构建倒排表的源码给出了详细的注释:https://github.com/luxugang... -
FST(一)(Lucene 8.4.0)
FST(Finite State Transducer)算法的概念在这篇博客中并不涉及,网上有太多的资料啦,写的都非常的不错。这里推荐这位网友的介绍:https://www.shenyanchao.cn/blog/2018/12/04/lucen... -
SortedDocValues(Lucene 7.5.0)
SortedDocValues同NumericDocValues、SortedNumericDocValues一样,在实际应用中最多的场景用于提供给搜索结果一个排序规则。本篇文章只讲述使用了SortedDocValues后,其在.dvd、.dvm文件... -
BytesRefHash(Lucene 7.5.0)
BytesRefHash类是专门为BytesRef对象作优化的一种类似hashMap的数据结构,该类的主要用途就是将所有的BytesRef对象存储到一个连续的存储空间中,并且使得能在查询阶段达到 0(1)的时间复杂度。 BytesRefHash的一... -
DocValues(Lucene 7.5.0)
DocValues 在搜索引擎中,我们通常都是对域名(field)构建倒排索引(inverted index),实现了域值(Values)到文档(document)的映射,而DocValues则是构建了一个正向索引,实现文档到域值的映射。下面是官方... -
BulkOperationPacked(Lucene 7.5.0)
BulkOperation类的子类BulkOperationPacked,提供了很多对整数(integers)的压缩存储方法,其压缩存储过程其实就是对数据进行编码,将每一个整数(long或者int)编码为固定大小进行存储,大小取决于最大的那个值所... -
去重编码(Lucene 7.5.0)
去重编码是Lucene中对int类型数据的一种压缩存储方式,在FacetsConfig类中用到此方法来处理int类型数据。其优点在于,存储一个原本需要固定4个字节空间大小的int类型的数据,最好的情况下只要1个字节,最差的情况下需要5个字节。 处理... -
文档号合并(MUST)(Lucene 7.5.0)
这种Query组合的文档号合并的代码是在ConjunctionDISI类中实现。本文通过一个例子来介绍文档号合并逻辑,这篇文章中对于每个关键字如何获得包含它的文档号,不作详细描述,大家可以去看我添加了详细注释的ConjunctionDISI类,相...