`
bjxagu
  • 浏览: 166143 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

建立索引文件-复合文件

阅读更多

Lucene索引复合文件

        Lucene的索引文件有多个文件组成,包括记载域信息的文件、segment信息的文件、term信息的文件;Lucene将这些文件复合起来存储;
    

     这里将阐述以下概念:

Directory:索引字典,Lucene自定义概念,如同现实中的字典存放词语一样,该字典存放文件;字典的操作包括向字典中添加文件,删除文件等。

合并后的文件这里称为复合文件。

文件在复合文件中有两处表示形式:一处为字典中的文件结构体,一处为文件数据;见下文中复合文件的格式。这里称复合文件中的各个文件有两种称谓,一种文件结构体,一种文件数据;

文件还有一种表示形式FileEntry,记载复合文件中的信息;

     
     复合文件的格式:

CompoundFileWriter文件将记载各种信息的索引文件写成一个复合文件,格式如下:

<ul>

   <li>各种索引文件数目n</li>

   <li>字典,字典中一共有n个文件结构体,代表各种索引文件,正好n

       <ul>

           <li>文件数据在复合文件中的位移</li>

           <li>文件名</li>

</ul>

</li>

<li>文件数据,真正的文件数据,n个文件合并后的数据,与字典中的n个结构体对应</li>

</ul>


实现方法:

FileEntry:记载复合文件中各个文件的信息

String file;文件的名字

long directoryOffset;文件结构体中该文件在复合文件中的位移;

long dataOffset; 文件数据中该文件在复合文件中的位移;

写复合文件:

先写文件个数;接着,三个循环,每个循环写n个文件相应信息;

第一个循环:

  写复合文件的文件结构体;注意,这里的文件数据在复合文件中的位移暂且为0,且将复合文件中的文件结构体的位移记录写到FileEntrydirectoryOffset中,这样是为了重写使用;

第二个循环:

  写文件数据,同时将文件在复合文件中的位移记录到FileEntrydataOffset中;

第三个循环:

  重写复合文件中文件结构体的文件数据在复合文件中的位移信息;通过FileEntry中信息来写,这里有复合文件中文件结构体在复合文件中的位移和复合文件中的文件数据在复合文件中的位移。

分享到:
评论

相关推荐

    试验五索引的建立及多表操作.pdf

    试验五索引的建立及多表操作 ...通过实验五索引的建立及多表操作,我们可以掌握建立索引文件的方法、使用索引的方法和使用索引查找的方法,同时也可以掌握数据表参照完整性和关联的设置方法和Visual FoxPro的多表操作。

    创建数据库表与索引实验.docx

    建立索引 - **索引类型**:普通升序索引、唯一索引、聚集索引和复合索引。 - **索引字段**: - 学生档案表的“姓名”字段建立普通升序索引。 - 学生档案表的“学号”字段建立唯一索引。 - 学生档案表的“学号”...

    Nutch开源搜索引擎增量索引recrawl的终极解决办法续

    - **Nutch**:一个开源的Web爬虫项目,用于抓取网页并建立索引。 - **Recrawl**:增量更新,即只更新已有的索引中那些发生变化的部分,而不是重新构建整个索引。 - **Indexmerge**:索引合并工具,用于将多个索引...

    索引完整性多工作区PPT学习教案.pptx

    - **结构化复合索引文件 (.CDX)**:与表文件同名,自动打开和维护,包含一个或多个索引。 - **非结构化复合索引文件**:与表文件不同名,需指定名称才能打开,较少使用。 - **独立索引文件 (.IDX)**:仅包含一个...

    《opengl宝典》光盘附带的文件-3

    这个压缩包文件"《opengl宝典》光盘附带的文件-3"包含了书中对应章节的源代码,便于读者进行学习和调试。 压缩包中的文件主要分布在几个不同的目录中,每个目录通常代表书中的一个或多个章节。让我们逐一解析这些...

    操作系统文件管理

    3. **索引结构**:通过一个索引表来记录文件信息的实际存储位置,可以实现快速定位,适用于大文件。 #### 六、目录管理 目录管理是文件管理中的重要组成部分,主要包括以下几个方面: 1. **目录项的建立**:为每...

    索引介绍聚集索引和非聚集索引

    3. **合理使用复合索引**:对于复合查询,可以考虑建立包含多个列的复合索引。在设计复合索引时,应将最常用的查询列放在前面。 4. **定期维护索引**:随着时间的推移,索引可能会变得不再高效。定期重建索引或对其...

    mysql之Linux安装,重点是索引的优化笔记

    - 对于频繁作为查询条件出现的字段应考虑建立索引。 - 复合索引可以覆盖更多查询场景,减少索引碎片。 - 应定期分析查询计划,根据实际使用情况调整索引。 综上所述,MySQL的安装与配置、逻辑架构理解以及索引...

    58-MySQL优化1

    - 在频繁用于WHERE和ORDER BY的字段上建立索引,以加快查询速度。 - 避免在索引字段前使用通配符`LIKE "%ABC%"`,因为它会触发全表扫描。若必须使用,确保通配符在后面,如`"ABC%"`。 - 尽量避免NULL值,即使...

    计算机软件及应用数据库表PPT课件.pptx

    - 当索引文件需要更新时,可以通过重新执行`INDEX`命令或者使用数据表的“重建建立索引”功能进行更新。 索引的创建和管理是数据库性能优化的关键,选择合适的索引类型和策略可以显著提升数据查询的效率,同时也有...

    C-ISAM程序员手册中文版

    - 索引可以基于一个或多个键字段建立。 ##### 2.2 键的结构 - 键结构的设计对索引性能有直接影响。 ##### 2.3 操作索引 - 包括新增、删除索引等操作。 ##### 2.4 B+树结构 - B+树是一种平衡的多路搜索树,常用于...

    Local-File-Search.zip_文件搜索

    首先,系统会在后台自动扫描并建立硬盘上的文件索引,包括文件名、位置、大小、创建日期等元数据。当用户输入搜索关键词时,系统会通过索引而非逐个遍历文件,实现快速匹配,大大提高了搜索效率。"Local-File-Search...

    程序设计基础vfp第三章数据库表2.ppt

    在程序设计基础的Visual ...在数据库操作中,如果增删记录或索引字段发生变化,可能需要重新建立索引文件以保持数据的正确性和高效检索。这就是索引文件及其应用的基础知识,它们对于数据库的高效管理和查询至关重要。

    索引排序与统计PPT学习教案.pptx

    索引文件分为单项索引文件(.IDX)和复合索引文件(.CDX)。其中,复合索引文件又可分为压缩型和非压缩型,结构复合索引文件在打开表时会自动打开,并且能包含多个索引方案,系统会在增加、删除或修改记录时自动维护...

    计算机软件及应用数据库表PPT学习教案.pptx

    2. 独立复合索引文件(扩展名同样是 .CDX)不能在表设计器中创建,只能通过命令行建立,如`INDEX ON 表达式 TAG 索引标识名 OF 独立复合索引文件名 [FOR 条件表达式] [ASCENDING|DESCENDING] [UNIQUE|CANDIDATE] ...

    Java大厂面试专题课-MySQL面试题-参考回答

    - 避免为区分度低的字段建立索引,此类字段作为索引的一部分时应置于复合索引的后方。 综上所述,MySQL面试题涵盖的知识点广泛而深入,从基本概念到高级特性均有涉及。通过这些问答,我们不仅能够了解MySQL数据库...

    mysql存储与索引技术

    例如,如果查询多涉及时间戳字段,可以针对该字段建立索引,以加快查询速度。但是,索引并非没有代价,它们占用磁盘空间,并可能影响插入和更新操作的速度。对于 InnoDB 引擎,当表空间文件(ibdata1)过大且无法...

    数据库sql的ppt资料

    - 索引是一种特殊的文件,由数据库管理系统创建,存储在物理磁盘上,它包含了表中某些列的值以及指向对应数据行的指针。 - 当数据库执行查询时,如果使用了索引,就可以避免全表扫描,而是通过索引直接找到所需的...

    MongoDB权威指南(第二版) - 文字版可复制

    - 复合索引:可以提升多字段查询的性能。 - 查询优化器:提供 explain() 和 hint() 方法来优化查询。 - 索引类型:包括唯一索引、稀疏索引等。 - 索引管理:如何创建、修改和标识索引。 第6章:特殊的索引和集合 - ...

Global site tag (gtag.js) - Google Analytics