lucene索引文件格式详解
本文介绍lucene中segment,.fnm,.fdx,.fdt,.tii,.tis,deletable ,.cfs等格式文件的用途。
1。索引的segment
每个segment代表lucene的一个完整索引段。通常,在一个索引中,会包含有多个segment。每个segment都有一个统一的前缀,这个前缀是根据当前索引的document数量而确立的。前缀名是Document数量转为36进制后,在前面加上下划线“_”而构成的。
通常,在一个完整的索引中,有且只有一个“segments”文件,这个文件没有后缀,它记录了当前索引中所有segment的信息。
2..fnm格式
.fnm格式的文件包含了Document中的所有Field名称。可以清楚地看到,所有加入的Field名称都在其中进行了保存。
3..fdx和.fdt格式
.fdx和.fdt是综合使用的两类文件,其中.fdt类型文件用于存储具有Store.YES属性的Field数据。而.fdx类型文件则是一个索引,用于存储Document在下面代码就是创建索引的代码。
4..tii和.tis格式
.tis文件用于存储分词后的词条(Term),而.tii就是它的所有文件,它标明了每个.tis文件中词条的位置.
5.deletable格式
在Lucene的索引中,所有的文档被删除后并不是立刻从索引中去除,而是留待下次合并索引或对索引进行优化时菜真正删除,这有点类似windows的回收站原理。这种功能是通过deletable文件实现的。所有的文档在被删除后,会首先在deletable文件中留一个记录,要真正删除时,才将索引除去。
6.复合索引格式 .cfs
在IndexWriter中有一个属性:useCompoundFile,它的默认值为True,这个属性的含义是:是否使用复合索引格式保存索引。索引的内容可能非常大,文件数量可能非常的多,如果遇到这种情况,系统打开文件的数量巨大将会极大地耗费系统资源。因此,Lucene提供了一个单文件索引格式,也就是所谓的复合索引格式。
使用复合索引格式存储Document内容时,只需要在初始化完成一个IndexWriter对象后,使用SetUseCompoundFile(boolean)方法,将UserCompoundFile的属性值设置为True就可以了。
分享到:
相关推荐
《Lucene索引文件格式详解》 Lucene,作为一款强大的全文搜索引擎库,其索引文件格式是实现高效搜索的关键。本文将深入解析Lucene 1.3版本的索引文件结构,帮助读者理解其内部运作机制。 首先,我们要理解Lucene...
阅读和解析Lucene索引文件通常需要借助于Lucene提供的API。首先,通过`Directory`接口打开索引目录,如`FSDirectory.open()`方法,指定索引文件所在的路径。然后,创建`IndexReader`实例,它提供了访问索引文档的...
源码目录(src)是Luke的核心部分,包含了所有Java源代码,这些代码负责解析、显示和解释Lucene索引。通过阅读和研究源码,我们可以了解到Luke如何读取索引段、字段和文档,以及如何展示这些信息。例如,Luke提供了...
在使用 Lucene 进行信息检索时,有时我们需要对建立的索引进行查看、调试或分析,这时就需要借助 Lucene 的索引查看工具。 Luke 是一个非常实用的 Lucene 索引浏览器,全称为 Lucidworks Luke。它允许用户以图形化...
**Lucene索引器实例详解** Lucene是一个高性能、全文本搜索库,由Apache软件基金会开发,被广泛应用于各种搜索引擎的构建。它提供了一个高级的、灵活的、可扩展的接口,使得开发者能够轻松地在应用程序中实现全文...
以上就是关于“Lucene索引的简单使用”的详细介绍,包括其核心概念、创建和查询索引的步骤以及一些高级特性。希望对你理解和应用Lucene有所帮助。在实际开发中,可以根据需求选择合适的Analyzer,优化索引策略,以...
**Lucene索引和查询** Lucene是Apache软件基金会的开放源码全文搜索引擎库,它提供了文本检索的核心工具,使得开发者能够快速构建自己的搜索应用。本项目中的代码旨在展示如何利用Lucene对多个文件夹下的数据进行...
以下是对Lucene索引机制的详细解析: 一、Lucene的索引过程 1. 文档分析:当向Lucene添加文档时,首先会经过一个分词器(Tokenizer),将文本拆分成一系列的词项(Token)。接着,这些词项会被过滤(Filter)和...
iTextPDFExtractor.java ------ ...--PDFBox创建PDF文件的Lucene索引 PDFBoxPathIndex.java ------- --PDFBox创建指定目录PDF文档索引 POIOfficeExtractor.java ----- -- POI处理Excel和Word文档代码
**Lucene索引结构原理** Lucene是Apache软件基金会的开放源代码全文搜索引擎库,它为Java开发人员提供了强大的文本搜索功能。理解Lucene的索引结构原理对于优化搜索性能和设计高效的搜索应用至关重要。 首先,我们...
《Lucene索引小示例解析》 Lucene是一个高性能、全文检索库,它由Apache软件基金会开发并维护。在Java编程环境中,Lucene被广泛应用于构建搜索功能,特别是对于大量文本数据的高效检索。本篇文章将通过一个简单的小...
- `lukeall-0.8.1.jar`:Luke是一个用于查看和分析Lucene索引的工具,可以帮助开发者调试和理解索引结构。 - `log4j-1.2.12.jar`:日志框架,用于记录程序运行时的信息。 - `commons-httpclient-3.1.jar`:可能是...
- 在建立索引之前,需要先将XML文档转换为Lucene能够理解的数据格式。 - 本例中采用SAX解析器来进行XML文档的解析,通过重写SAX处理器类的方法(如`startDocument()`、`endDocument()`、`startElement()`等)来...
**Lucene索引分析工具详解** Lucene是一个高性能、全文本搜索库,它为开发者提供了在应用程序中实现全文检索功能的基础。在这个场景中,我们关注的是一个专门针对Lucene.net的索引分析工具,该工具被称为"Lucene...
**luke-7.1.0:Lucene索引查看工具详解** Luke是Apache Lucene项目的一个重要辅助工具,主要用于查看、分析和测试Lucene创建的索引。这个7.1.0版本提供了对Lucene索引的强大洞察力,帮助开发者、搜索引擎优化者以及...
为了运行 Lucene 示例,首先需要在 Eclipse 中导入这些设置,创建一个 Java 项目,并将 Lucene 相关库(如 `libs` 目录中的 jar 文件)添加到项目的类路径中。 2. **创建索引** - 在 Lucene 中,创建索引是搜索的...
2. **打开索引**:选择要查看的Lucene索引目录,Luke会自动加载并解析索引结构。 3. **浏览索引**:在界面左侧选择要查看的字段,右侧则会显示字段的详细信息。 4. **搜索测试**:在搜索框输入查询,点击“Execute...
4. **并行索引**:每个线程独立地读取分配的子目录中的文件,使用Analyzer处理文本,然后添加到相应的IndexWriter中。 5. **合并索引**:所有线程完成索引后,使用IndexWriter的`addIndexes()`方法将所有子索引合并...