欢迎来到Xugang的小屋
-
文档的增删改(四)(Lucene 7.5.0)
本文承接文档的增删改(一)、文档的增删改(二)、文档的增删改(三)继续介绍文档的增删改,为了能深入理解,还是得先介绍下几个预备知识。 预备知识 Node类 下面是Node类中仅有的两个成员变量: 1234static class Node... -
文档的增删改(三)(Lucene 7.5.0)
本文承接文档的增删改(一)、文档的增删改(二)、继续介绍文档的增删改,为了能深入理解,还是得先介绍下几个预备知识。 预备知识 DocumentsWriterStallControl 在文档的增删改(二)我们知道,多线程(持有相同的Inde... -
文档的增删改(二)(Lucene 7.5.0)
文档的增删改(中) 在文档的增删改(一)中,我们介绍了应用示例并给出了流程图,本篇文章承接上文,就流程图的每个流程点展开介绍。 预备知识 在介绍流程点前需要了解以下几个知识点,下文使用到的名称都是源码中的类名。 DocumentsWri... -
文档的增删改(一)(Lucene 7.5.0)
在Lucene中,可以对文档(Document)进行添加(增)、删除(删)、更新(改)的操作,而每一种操作各自又有多个功能的扩展。 文档的增删改应用 添加文档 该小结介绍增删改的简单使用方法。 图1: 图2: Lucene允许通过... -
Directory(下)(Lucene 7.5.0)
在Directory(上)中,介绍了BaseDirectory类,它作为Directory的子类,该类及其子类实现了维护索引文件的所有操作,即创建、打开、删除、读取、重命名、同步(持久化索引文件至磁盘)、校验和(checksum computin... -
Directory(上)(Lucene 7.5.0)
Directory类用来维护索引目录中的索引文件,定义了创建、打开、删除、读取、重命名、同步(持久化索引文件至磁盘)、校验和(checksum computing)等抽象方法。 索引目录中不存在多级目录,即不存在子文件夹的层次结构(no su... -
索引文件之segments_N(Lucene 7.5.0)
当IndexWriter执行commit()操作后,会生成一个segments_N文件,该文件描述了当前索引目录中所有有效的段信息文件(active segment info),即之前文章介绍的segmentInfo文件,仅仅通过flush()生... -
索引文件之fnm(Lucene 7.5.0)
索引文件.fnm用来描述域信息(FieldInfo) 例子 为了便于介绍.fnm中的各个字段,给出下面的例子 图1: fnm文件的数据结构 图2: FieldsCount FieldsCount描述的是.fnm中域的种类。 F... -
索引文件之si(Lucene 7.5.0)
当生成一个新的segment时(执行flush、commit、merge、addIndexes(facet)),会生成一个描述段文件信息(segmentInfo)的.si索引文件。 si文件的数据结构 图1: SegVersion Se... -
索引文件锁LockFactory(Lucene 7.5.0)
LockFactory在Lucene中用来对索引文件所在的目录进行加锁,使得同一时间总是只有一个IndexWriter对象可以更改索引文件,即保证单进程内(single in-process)多个不同IndexWriter对象互斥更改(多线程持有...