欢迎来到Xugang的小屋
-
执行段的合并(一)(Lucene 7.5.0)
在前面的文章中,我们介绍了段的合并策略TieredMergePolicy、LogMergePolicy,讲述了如何从索引目录中挑选出满足合并条件的一个或多个段的集合OneMerge,另外还介绍了段的合并调度MergeScheduler,讲述了如何... -
SegmentReader(二)(Lucene 7.5.0)
本文承接SegmentReader(一),继续介绍生成SegmentReader的剩余的流程。 生成SegmentReader的流程图 图1: 获取段中最新的域信息FieldInfos FieldInfos描述了段中所有域的信息,它对应... -
SegmentReader(一)(Lucene 7.5.0)
在近实时搜索NRT的系列文章中,我们知道用于读取索引目录中所有索引信息的StandardDirectoryReader实际是使用了一个LeafReader数组封装了一个或者多个SegmentReader,而每一个SegmentReader则对应一... -
RoaringDocIdSet(Lucene 7.5.0)
RoaringDocIdSet的设计灵感来源于RoaringBitmap,Lucene根据自身需求有着自己的的实现方法,来实现对文档号的处理(存储,读取)。 RoaringBitmap 位集合(bitsets)通常也被成为位图(bitMap... -
近实时搜索NRT(五)(Lucene 7.5.0)
本文承接近实时搜索NRT(四),继续依次介绍每一个流程点,阅读本文章需要看过文档的增删改、文档提交之flush的系列文章。 openIfChange方法的流程图 其中openIfChange的方法一&&方法二、方法三&... -
近实时搜索NRT(四)(Lucene 7.5.0)
Lucene7.5.0中提供了以下四种open方法来获得StandardDirectoryReader的对象,这四种方法: 方法一:DirectoryReader.open(final Directory directory) 方法二:Dire... -
近实时搜索NRT(三)(Lucene 7.5.0)
近实时搜索NRT(三) 在近实时搜索NRT(二)的文章中我们提到,Lucene提供了四种方法来获得StandardDirectoryReader对象,这里先简单总结下这四种open方法获取StandardDirectoryReader的差异: ... -
近实时搜索NRT(二)(Lucene 7.5.0)
本文承接近实时搜索NRT(一),继续依次介绍每一个流程点。 获取StandardDirectoryReader对象的流程图 图1: 点击查看大图 我们继续介绍方法三&&方法四的所有流程点。 这两种是业务中最常使用,通过... -
近实时搜索NRT(一)(Lucene 7.5.0)
Lucene提供了近实时搜索NRT(near real time)的功能,它描述了索引信息发生改变后,不需要执行commit操作或者关闭IndexWriter(调用IndexWriter.close()方法)就能使得这些更改的信息**很快(qui... -
文档提交之commit(二)(Lucene 7.5.0)
本篇文章承接文档提交之commit(一),继续介绍文档提交之commit的剩余流程点。 文档提交之commit的整体流程图 图1: 点击查看大图 生成新的Segment_N文件 图2: 在文档提交之commit(一)中,我们介绍了图1...