Segment文件:
在随笔“Lucene:(一)建立索引文件:2。建立索引文件(一)”中提到,写索引文件从IndexWriter类开始;而IndexWriter类写索引可以看成两个方面,其中之一为IndexWriter使用SegmentInfos类写segment文件。
Segment文件实际可以看成索引的概述文件,包括了所有用于建立索引的文件的概述信息。Segment类,即Segment文件中记载的信息单元。可以理解成,SegmentInfos将众多segment信息综述在一起,写入文件。
<!--[if !supportLists]-->1.SegmentInfo<!--[endif]-->类:
public String name; //segment文件的名称(记录其他信息的文件与它同名)
public int docCount; //segment文件中的拥有的文件数目,即该索引文件记录的文件数目
public Directory dir;// segment文件存放的字典
<!--[if !supportLists]-->2.SegmentInfos<!--[endif]-->类:
SegmentInfos类,用于读写块信息,物理磁盘中的块文件的后缀名为segments,
如:wanghoney. segments;
块文件的格式如下:
<ul>
<li>Format,索引文件的版本,Lucene有多个版本了,int型</li>
<li>version,多久前索引文件被adding or deleting文件,long型</li>
<li>
counter,segment文件的个数+1,因为segment的建立是从1开始,没多出现一个,命名就为前一个的名字加1,所以counter可看成是下一个segment文件应起的名字,int型
</li>
<ul>每个segment文件的信息,共有counter-1个
<li>segmentInfo中的name</li>
<li> segmentInfo中的docCount </li>
</ul>
</ul>
注意:并不是每个版本的segment文件都有format,version等信息的,早先版本没有。
实现:
SegmentInfos继承于Vector类,因此它有Vector的特性;SegmentInfos类,其实将SegmentInfos类操作的所有SegmentInfo信息装入Vector中;读是从文件中读入SegmentInfo中,再装入到Vector中;写是从Vector中往文件中写。
分享到:
相关推荐
源码里面的路径需要自己改变,测试数据为utf-8编码,源码里面附有gb转...里面的方法适用与建立简单的文件内容索引(把文本作为数据库)。没用二进制的存取方式是为了c++和php兼容。(简单的模仿了FAT(文件分配表))
lucene 对 xml建立索引 建立索引就是怎么简单 呵呵
能够 将文件目录下的 文件向数据库中插入 目录,建立索引,并通过FTP服务端 可以远程下载该文件
Everything 对硬盘内的文件按照名称建立索引,安装之后,在查找硬盘内的文件时,能立刻找出
在任一OS下,建立一个大文件,把它假象成一张盘,在其中实现一个简单的 模拟UNIX文件系统 。 [基本要求] 1.在现有机器硬盘上开辟20M的硬盘空间,作为设定的硬盘空间。 2.编写一管理程序对此空间进行管理,以...
原理是读取USN文件日志,然后内建索引加快文件搜索速度。 1、列表文件支持批量处理(删除、复制、复制文件名路径、打开、重命名),或者引用系统菜单。 2、支持拼音首字母缩写搜索,指定文件夹内搜索,多关键词搜索...
综合索引文件和查找算法做的学生信息管理程序 用C语言写的 有源代码 课程设计报告和可执行的程序
快速索引本地和局域网公共盘资料,非常好用, 使用方法,设置--建立数据库--手动索引---开始搜索
bai-indexer 通过建立你的 BAM 索引的索引来解决这个问题。 这是一个小的 JSON 文件,它将参考 ID(即染色体编号)映射到 BAI 文件中的字节范围。 通过加载 BAM 索引,查看器只能加载它实际需要的 BAM 索引的小
使用java 实现的对于比较大(本地测试文件有50多万行)的xlsx文件进行读取,并构建b+树索引,能够通过UI姐买你进行关键字查找。
这样你就告诉 lucene 我要在 c 盘的 index 目录下建立索引文件,我要使用车东老师的二分词算法做分析器、我要在这个目录下删除以前的索引或任何文件创立我的索引文件。 索引的建立有三种方式,让我一一道来: 1 ...
增加新功能1:修改 eshore.cn.it.business.IndexAction 可以选择是否建立索引,是否将提取的文件保存到本地指定文本中。 配置类:eshore.cn.it.phrase.ActionConfig.java 里面可以配置需要建立提取关键短语的文本...
该文件里面包含有Lucene.net 的各种工具包,采用了盘古分词发进行分词
数据结构课程设计 图书管理 用B树对书号索引
(1) 建立一个图书馆管理信息数据库文件,输入若干图书的记录,建立一个以书号为 关键字的索引文件以及相关的索引链头文件。实现1:采编入库,新采购一种书,经分 类和确定书号后登陆图书账目中去。如果这种书已经...
这两种信息唯一地确定了文件与父目录之间的对应关系,由此可知,要在一个指定目录下生成一个文件,除了要创建目标文件本身的MFT记录,还需在其父目录的MFT记录或者其索引分配中建立目标文件的索引。在NTFS系统中,...
LaTeX论文写作教程-建立索引及文献引用 LaTeX是一种基于TeX的排版系统,用于创建高质量的科技文档,如学术论文、书籍、报告等。与传统的字处理软件(如Word)相比,LaTeX具有以下优势: 专业排版:LaTeX提供了丰富...
模拟设计便于直接存取的索引文件结构 为了便于用户直接存取文件的各个逻辑记录,在MS-DOS中通过文件目录,再沿着链查找FAT表,便可直接找到指定逻辑记录对应的物理块。在小型机或更高级的文件系统中,直接存取文件的...
NULL 博文链接:https://snowdymy.iteye.com/blog/1075916
对初学使用dotlucent作站...利用dotlucene为网站做的索引文件的应用程序。 数据库源是SQL Server,项目是用VS.NET2008开发的。 应用程序界面可以配置数据库链接,生成报告,定时执行增量索引,对单条索引进行更新操作。