lucene索引文件格式介绍

Lucene 索引文件详解:结构与工作原理 一个 Lucene 索引由多个文件组成,每个文件都有特定的功能。段文件(Segments):存储索引的数据结构。字段信息文件(Field Info Files):描述字段的元数据。文档存储文件(Document Stores):存储文档内容。词典文件(Term Dictionaries):存储词项及其元数据。频率文件(Frequency Files):记录词项出现的频率。位置信息文件(Positions Files):记录词项在文档中的位置信息。 阅读详情

每一个索引段文件包含如下的信息:

域名字、对应域包含的值,一组组域名和对应的域值组成了文档,在搜索返回的结果中就是这些域和域对应的值,每个文档会用一个ID与此对应。

term字典,包含了有多少存有term的文档个数,指向term的频率与位置信息。

Term频率数据,对字典中的每一个term,包含term的文档数,以及一个term在一个文档中出现的次数,如果omitTf=false。

Term位置数据,对字典中的每一个term,term在文档中的存在位置,要注意的是,如果在所有文档中的所有field将omitTf设为了true,那么此项不会存在。

规格化因子,对每个文档中的field,在搜索时为搜索结果增加相同的分数。

Term向量,对每个文档中的field,这个向量可以不存储,主要是用来做搜索时高亮显示用的,它包括term的值以及term频率。

删除的文档,表示哪个文档被标记为删除。

lucene索引中的各文件格式简单介绍如下:

 

索引文件索引文件含义
.f(n)规格化文件
.fdt包含各个域数据(field的特性)信息
.fdx它是指向.fdt文件的指针,填写的是.fdt文件中每个文档的域数据信息的起始位置
.fnm各个域的名字信息
.frq词元(term)的频率信息
.prxTerm在文档中的位置信息
.tis包含term数据信息,指向位置文件与频率文件的指针
.tii是.tis文件的快表,可以快速定位.tis文件中term数据信息
.tvd保存有document信息,用词元向量(TermVector)方式保存field的信息,同时包含一个指针表,表内的指针指向.tvf文件中的field信息
.tvf以TermVector方式保存field数据信息
.tvx是.tvd的索引文件,保存了指向.tvd指针信息
deletable包含要删除的文档信息
Segments_N与segments.gen保存了相关段的信息

英文文档见:http://lucene.apache.org/java/3_0_0/fileformats.html 

Lucene 索引文件格式 Lucene 采用反向索引存储术语及其统计数据,以提高基于术语的搜索效率。字段可以是存储的或索引的,文本可以被标记化或直接作为术语索引。索引由多个独立的段组成,文档通过整数编号引用。每个段索引包含段信息、字段名称、存储字段值、术语字典、术语频率和位置数据等。文件名采用生成方法唯一标识,写锁文件防止多写操作。段文件扩展名多样,用于不同的数据结构和用途。 阅读详情

相关推荐

ESP32-C3芯片通过蓝牙控制开锁功能

定义BLE服务和特征,用于接收开锁命令。0x00FF// 服务UUID0xFF01// 特征UUID4// 句柄数量// 特征值// 特征属性// 处理GATT服务器事件// 处理事件(详细代码见下文)// 注册GATT回调if (ret) {return;// 创建GATT服务器。

m0_46145044的博客 920

深入Lucene的索引文件

  Lucene的索引里面存了些什么,如何存放的,也即Lucene的索引文件格式,是读懂Lucene源代码的一把钥匙。 当我们真正进入到Lucene源代码之中的时候,我们会发现: Lucene的索引过程,就是按照全文检索的基本过程,将倒排表写成此文件格式的过程。 Lucene的搜索过程,就是按照此文件格式将索引进去的信息读出来,然后计算每篇文档打分(score)的过程。   本文详...

laravel framework 461

Windows安装ros2(Jazzy版本+win10/win11)-1.配置windows终端

更高版本的terminal可能设置里更加丰富, 有默认以管理员身份启动的选项等,可自行配置。打开微软应用商店, 在其中搜索并下载 Terminal 即可(注意别挂梯子)下载并安装, 安装的位置自行替换,建议别放到系统盘中。点击任务栏中的搜索, 输入store。

weixin_48398592的博客 1454

lucene索引结构整理

一、基础信息 索引结构: 索引信息元数据:segment_N. 段信息元数据:.si 正排信息:.fnm .fdx .fdt 倒排信息:.tim .tip 与 .doc .pos .pay norm信息:.nvm .nvd doc_value信息:.dvm .dvd term_vector信息:.tvx .tvd 存储类型 Int8: Byte Int32:4 Byte 无符号int...

u013277115的专栏 1405

Windows Server 2019整机备份与异机还原实战:从虚拟机到物理机的完整迁移指南

本文详细介绍了Windows Server 2019整机备份与异机还原的实战操作,涵盖从虚拟机到物理机的完整迁移流程。通过环境准备、备份策略设计、具体操作步骤及迁移后优化等内容,帮助用户实现系统环境的无缝迁移,特别适用于服务器硬件升级、数据中心迁移等场景。

weixin_30555125的博客 132

Solidworks转URDF避坑实录:从履带机器人到ROS仿真的完整配置流程

本文详细介绍了将Solidworks履带机器人模型转换为URDF格式并配置ROS仿真的完整流程,重点解析了坐标系设置、复杂关节定义、插件配置等关键步骤中的常见问题与解决方案,帮助开发者高效实现履带机器人在RVIZ和Gazebo中的精确仿真。

weixin_30693683的博客 456

lucene索引文件的创建和简单的使用

lucene索引文件的创建和简单的使用

theSmallTears的博客 685

Visual MODFLOW Flex 6.1新手入门:从数据导入到3D建模的完整工作流解析

本文为Visual MODFLOW Flex 6.1新手提供了从零开始构建地下水数值模型的完整工作流指南。详细解析了从项目规划、数据准备与导入,到构建三维概念模型、生成并运行数值模型,直至结果可视化与校准的核心步骤。帮助水文地质与环工领域初学者快速掌握这一专业软件,高效完成从数据到三维建模的全过程。

a1b2c的博客 800

Lucene学习总结之Lucene的索引文件格式

/commit生成segment "_1",由于上次flushDocStores设为false,于是段"_1"的域以及词向量信息是保存在"_0"中的,在这个时刻,段"_1"并不生成自己的"_1.fdx"和"_1.fdt"。然而这时,DocumentsWriter中的docStoreSegment= "_1",也即当段"_2"存储其域和词向量信息的时候,是存在"_1.fdx"和"_1.fdt"中的,而段"_1"的域和词向量信息却是存在"_0.fdt"和"_0.fdx"中的,这一点非常令人困惑。

时光の尘的博客 1245

从波形到代码:手把手调试GaN图腾柱PFC的过零点切换与软启动策略

本文详细解析了GaN图腾柱无桥Boost PFC电路在过零点切换与软启动策略中的调试方法。通过波形分析、代码实现和寄存器配置,提供了解决误开通、震荡波形等问题的实用方案,帮助工程师优化电源设计效率与可靠性。

weixin_30831529的博客 424

mapbox 从入门到精通 - 目录

欢迎大家来到gis分享者的《mapbox 从入门到精通》专栏。博主列出学习大纲,如果有什么问题,欢迎留言。

我哎GIS博客 5839

Lucene索引文件格式分析

<br /> 一、       Lucene源码实现分析的说明<br />  通过以上对Lucene系统结构的分析,我们已经大致的清楚了Lucene系统的组成,以及在Lucene系统之上的开发步骤。接下来,我们试图来分析Lucene项目(采用Lucene 1.2版本)的源码实现,考察其实现的细节。这不仅仅是我们尝试用C++语言重新实现Lucene的必须工作,也是进一步做Lucene开发工作的必要准备。因此,这一部分所涉及到的内容,对于Lucene上的应用开发也是有价值的,尤其是本部分所做的文件格式分析。<b

solotraveler 2761

10天冲刺国自然基金!用这套实战AI提示词指令教程,助你中标率翻倍!亲测DeepSeek和ChatGPT不好用

虽然以上国自然提示词指令经过反复实测,但并不是万能无脑帮你搞定所有,大模型AI的特性是你专业领域能力越强,它的智商表现就会更加强大,通过以上提示词教程的使用,大大提升中标概率是肯定的。还有就是大模型的使用上,不是市面上大家都说好的就一定适用,目前来看,Gemini和Claude的两个模型是非常适合国自然本子的修改的。在使用大模型进行国自然本子撰写修改时,首先是角色的设定,然后是目标和背景的描述,好用的提示词指令都是要经过无数次的实测,比对输出结果后又反复调整,达到最佳的效果状态的提示词指令。

智能AI让学术科研更容易 1245

Lucene6入门教程(四)索引文件格式

Lucene6(四)索引文件格式 要想要理解Lucene6关键还是要对索引的文件格式有所理解的,这是因为,了解到索引文件的格式,有助于深入理解Lucene6的两大功能——索引(全文搜索中倒排写成这个文件格式),搜索(在按文件格式将索引读取)。 可以查看Lucene6中Reader和Writer这两个类包,来更加深入地了解Lucene的文件格式,以及那些文件格式的写入和读取过程。 索引文

大漠帝国的博客 3423

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Lucene的文件格式

先贴链接,有时间再翻译 http://lucene.apache.org/core/7_6_0/core/org/apache/lucene/codecs/lucene70/package-summary.html#package.description

qqqq0199181的博客 749

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

【Lucene】Lucene的索引文件格式:深入理解Lucene使用的索引文件格式

Lucene的索引文件格式设计精妙,利用模块化和压缩技术实现了存储空间与查询效率的平衡。segments_N是索引的全局入口,.tis和.tii负责词典管理,.frq和.prx记录倒排索引的数据,.fdt和.fdx提供字段存储支持。通过这些文件的协作,Lucene能够在大规模数据中实现高效的全文检索。

weiliang_Handan的博客 1302

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Lucene索引结构

先转一篇中文的介绍,适合入门级阅读。再转篇Lucene官网的解释。Lucene是一个高性能的java全文检索工具包,它使用的是倒排文件索引结构。该结构及相应的生成算法如下:0)设有两篇文章1和2文章1的内容为:Tom lives in Guangzhou,I live in Guangzhou too.文章2的内容为:He once lived in Shanghai.

caohao2008的专栏 1444

Lucene索引文件格式

function StorePage(){d=document;t=d.selection?(d.selection.type!=None?d.selection.createRange().text:):(d.getSelection?d.getSelection():);void(keyit=window.open(http://www.365key.com/storeit.as

远超的blog 467

lucene索引过程详解

一、索引是LUCENE最重要的一个过程,通过IndexWriter的addDocument接口,可以将构建的Document加入索引。二、IndexWriter的addDocument方法首先创建一个DocumentWriter对象,接着为Segment命名,然后调用DocumentWriter的addDocument()方法向索引中增加文档,最后将Segment的信息保存,如果有多个segm

深未来技术 535

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 记录了本...

nomoney_boy的专栏 249

Lucene学习总结之三:Lucene的索引文件格式(1)

Lucene的索引里面存了些什么,如何存放的,也即Lucene的索引文件格式,是读懂Lucene源代码的一把钥匙。 当我们真正进入到Lucene源代码之中的时候,我们会发现: Lucene的索引过程,就是按照全文检索的基本过程,将倒排表写成此文件格式的过程。Lucene的搜索过程,就是按照此文件格式将索引进去的信息读出来,然后计算每篇文档打分(score)的过程。 本文详细解读了

yuechao_liu的专栏 247

lucene的索引文件

       通过实际的程序我们可以观察到,如果不使用复合文件格式来创建索引的话,索引文件很多,这些索引文件记录和Field,Term相关的种种信息,这些信息以一定的格式存放在文件中,并且使用了压缩等多项技术来减少空间占用,不过lucene的压缩结构并没有使查找效率明显降低,适当的冗余还是存在与索引中。        大部分的搜索(数据库)引擎都是用B树结构来维护索引,索引的更新会导致大量的I

smartGay的专栏 1960

Lucene 4 Demo

转载出处:http://www.cnblogs.com/xing901022/p/3933675.html 讲解之前,先来分享一些资料     首先呢,学习任何一门新的亦或是旧的开源技术,百度其中一二是最简单的办法,先了解其中的大概,思想等等。这里就贡献一个讲解很到位的ppt。已经被我转成了PDF,便于搜藏。     其次,关于第一次编程初探,建议还是查看官方

wea111222333的博客 698

Lucene文档结构

4. Lucene文档结构  Lucene中最基础的概念是索引(index),文档(document),域(field)和项(term)。  索引包含了一个文档的序列。  · 文档是一些域的序列。  · 域是一些项的序列。  · 项就是一个字串。  存在于不同域中的同一个字串被认为是不同的项。因此项实际是用一对字串表示的,第一个字串是域名,第二个是域中的字串。   4.1. Lucene概念详细介

wangerge的专栏 1219
上一篇: 127.0.0.1’ is not allowed to connect to this MySQL serverConnection closed by foreign host
下一篇: jxl导出excel --- 居中 自动换行 边框 样式
OnePiece_Sky
博客等级 码龄15年 9粉丝 63原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值