`
weishuwei
  • 浏览: 326350 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Lucene文件格式

 
阅读更多

生成的文件如下:
_21.f1,_21.f2,依次类推,扩展名根据文件排序;
_21.fdt;
_21.fdx; *.fdt和*.fdx构成了域值存储表;
_21.fnm; 记录了域集合信息;
_21.frq; 记录了项的位置;
_21.prx; 记录了项频数;
_21.tii;
_21.tis; *.tii和*.tis构成了项字典;
segment1.nrm 记录了标准化因子;
segment1.del 记录了本删除的文档;
segments(无扩展名) 用来保存所有的段的记录;
deletable(无扩展名) 用来保存已删除文件的记录
lock(无扩展名) 用来控制读写的同步

Lucene索引index由若干段(segment)组成,每一段由若干的文档(document)组成,每一个文档由若干的域(field)组成,每一个域由若干的项(term)组成。
项是最小的索引概念单位,它直接代表了一个字符串以及其在文件中的位置、出现次数等信息。
域是一个关联的元组,由一个域名和一个域值组成,域名是一个字串,域值是一个项,比如将“标题”和实际标题的项组成的域。
文档是提取了某个文件中的所有信息之后的结果,这些组成了段,或者称为一个子索引。子索引可以组合为索引,也可以合并为一个新的包含了所有合并项内部元素的子索引。我们可以清楚的看出,Lucene的索引结构在概念上即为传统的倒排索引结构。
从概念上映射到结构中,索引被处理为一个目录(文件夹),其中含有的所有文件即为其内容,这些文件按照所属的段不同分组存放,同组的文件拥

有相同的文件名,不同的扩展名。此外还有三个文件,分别用来保存所有的段的记录、保存已删除文件的记录和控制读写的同步,它们分别是segments,deletable和lock文件,都没有扩展名。每个段包含一组文件,它们的文件扩展名不同,但是文件名均为记录在文件segments中段的名字每个段的文件中,主要记录了两大类的信息:域集合与项集合。由于索引信息是静态存储的,域集合与项集合中的文件组采用了一种类似的存储办法:一个小型的索引文件,运行时载入内存;一个对应于索引文件的实际信息文件,可以按照索引中指示的偏移量随机访问;索引文件与信息文件在记录的排列顺序上存在隐式的对应关系,即索引文件中按照“索引项1、索引项2…”排列,则信息文件则也按照“信息项1、信息项2…”排列。比如在图3.2所示文件中,segment1.fdx与segment1.fdt之间,segment1.tii与segment1.tis、segment1.prx、segment1.frq之间,都存在这样的组织关系。而域集合与项集合之间则通过域的在域记录文件(比如segment1.fnm)中所记录的域记录号维持对应关系,segment1.fdx与segment1.tii中就是通过这种方式保持联系。这样,域集合和项集合不仅仅联系起来,而且其中的文件之间也相互联系起来。此外,标准化因子文件和被删除文档文件则提供了一些程序内部的辅助设施(标准化因子用在评分排序机制中,被删除文档是一种伪删除手段)。这样,整个段的索引信息就通过这些文档有机的组成。 以上所阐述的,就是Lucene所采用的索引文件格式。基本上而言,它是一个倒排索引,但是Lucene在文件的安排上做了一些努力,比如使用索引/信息文件的方式,从文件安排的形式上提高查找的效率。这是一种数据库之外的处理方法,其有其优点(格式平台独立、速度快),也有其缺点(独立性带来的共享访问接口问题等等),具体如何衡量两种方法之间的利弊,本文这里就不讨论了。

摘自一位朋友,并作了一些整理

分享到:
评论

相关推荐

    lucene索引文件格式介绍

    索引文件格式是Lucene实现快速搜索的关键。以下是对Lucene索引文件格式的详细说明。 首先,我们要理解Lucene索引的基本结构。一个Lucene索引位于一个文件夹中,这个文件夹包含了多个段(Segment)。每个段是独立的...

    Lucene中文件格式介绍

    以下是对Lucene文件格式的详细解析。 1. **Segment和Index Files** Lucene的索引被划分为多个段(Segments),每个段是一个独立的搜索单元。段是由一系列文件组成的,包括文档数据、倒排索引、字段信息等。这些...

    Lucene索引文件格式

    《Lucene索引文件格式详解》 Lucene,作为一款强大的全文搜索引擎库,其索引文件格式是实现高效搜索的关键。本文将深入解析Lucene 1.3版本的索引文件结构,帮助读者理解其内部运作机制。 首先,我们要理解Lucene...

    Lucene文件检索实战项目

    Lucene是用java实现的、成熟的开源项目,是著名的Apache Jakarta大家庭的一员,并且基于Apache软件许可 [ASF, License]。同样,Lucene是当前非常流行的、免费的Java信息搜索(IR)库。Lucene从问世之后,引发了开放源...

    Lucene读取索引文件

    然而,由于Lucene的索引文件是专有的二进制格式,直接查看可能难以理解,更推荐通过Lucene的API来间接获取信息。 总之,掌握Lucene索引文件的读取是提升Lucene应用能力的关键一步。通过对索引结构、API用法以及查询...

    实现多种文件格式的Lucene全文搜索功能的dom实例

    本项目“实现多种文件格式的Lucene全文搜索功能的DOM实例”专注于利用Lucene来处理不同类型的文件,并且实现了搜索结果中关键词的高亮显示,类似于百度等搜索引擎的效果。 首先,我们需要理解Lucene的基本概念。...

    基于lucene的文件管理系统

    **基于Lucene的文件管理系统详解** Lucene是一个高性能、全文本搜索库,由Apache软件基金会开发,被广泛应用于各种搜索引擎的构建。它提供了一个高级的、可扩展的搜索程序库,使得开发者能够轻松地在应用中集成全文...

    data.rar学习lucene需要的数据文件

    本篇文章将围绕“data.rar学习lucene需要的数据文件”这一主题,深入探讨如何利用提供的数据文件学习并掌握Lucene的核心概念和技术。 首先,我们需要了解Lucene是什么。Lucene是一个高性能、全文本搜索库,它提供了...

    lucene索引查看文件

    这是Lucene3.0索引查看文件 直接运行jar包就可以打开ui界面 陪好路径就可以使用了

    基于Lucene的Lucene

    本篇文章将深入探讨如何基于Lucene开发一个文件检索系统,以及如何扩展其功能以支持多种文件格式。 ### Lucene核心概念 1. **索引(Index)**: 在Lucene中,索引是将非结构化的文本数据转换为结构化的倒排索引的...

    Lucene对本地文件多目录创建索引

    标题中的“Lucene对本地文件多目录创建索引”指的是使用Apache Lucene库来构建一个搜索引擎,该搜索引擎能够索引本地计算机上的多个文件目录。Lucene是一个强大的全文搜索库,它允许开发者在Java应用程序中实现高级...

    lucene.net 用于doc,docx,xls,xlsx,ppt,pptx,pdf等文件检索

    在描述中提到,Lucene.NET可以用于对doc、docx、xls、xlsx、ppt、pptx和pdf等多种文件格式进行检索,这意味着它可以处理这些文件中的文本内容,从而实现强大的搜索功能。 1. **文件格式支持**:Lucene.NET能够解析...

    Lucene索引文件查看工具lukeall4.7.1

    《深入理解Lucene索引文件查看工具LukeAll 4.7.1》 在信息检索领域,Lucene作为一款强大的全文搜索引擎库,被广泛应用在各种数据检索系统中。然而,对于开发者来说,理解并调试Lucene创建的索引文件并非易事。此时...

    Lucene.Net 文件检索doc,xls,ppt,txt,pdf文件(实例)

    1. **文件预处理**: 首先,我们需要读取文件内容,可能需要使用第三方库(如iTextSharp for pdf,NPOI for office文档)来解析非文本格式的文件,提取其文本内容。 2. **创建Document对象**: 对于每个文件,创建一...

    基于lucene的文件管理系统(完善版,含jar包)

    **基于Lucene的文件管理系统详解** Lucene是一个高性能、全文本搜索库,由Apache软件基金会开发,它提供了索引和搜索大量文本数据的能力。在这个基于Lucene的文件管理系统中,我们利用Lucene的强大功能来组织、管理...

    lucene 3.6 检索文件 pdf word ppt excel txt html xml

    要开始使用Lucene进行文件检索,你需要指定两个关键目录:检索目录和索引目录。检索目录包含了需要被搜索的文件,而索引目录则用于存储生成的索引文件。通过调用提供的静态方法,可以快速完成索引的创建。这个过程...

    Lucene 索引的简单使用

    1. **初始化Directory**:选择存储索引的目录,如FSDirectory(文件系统)、RAMDirectory(内存)等。 2. **创建IndexWriter**:配置IndexWriter实例,指定Directory、Analyzer和其他参数。 3. **创建文档**:定义...

    lucene实现文件检索Demo

    lucene实现文件检索Demo,

    lucene检索文件

    在描述中提到的"lucene全文检索文件"指的是利用Lucene进行文档检索的能力,涵盖了多种文件格式,如TXT、DOC、XLS、PPT和PDF,这表明Lucene不仅限于纯文本,还能处理包含富文本和二进制数据的文档。 1. **Lucene核心...

    lucene,lucene教程,lucene讲解

    第一个是 FSDirectory,它表示一个存储在文件系统中的索引的位置。 第二个是 RAMDirectory,它表示一个存储在内存当中的索引的位置。 public void add(Query query, BooleanClause.Occur occur) BooleanClause...

Global site tag (gtag.js) - Google Analytics