lucene文件格式分析

lucene4.5源码分析系列:lucene默认索引的文件格式-总述 学习lucene索引文件格式的目的是通过对lucene数据结构的理解,从而为lucene索引实现打下基础   索引文件格式在lucene中分为复合索引以及非复合索引。区别是,非复合索引将各种索引文件单独存放,每一种索引文件有自己的用途,相对清晰,问题是每个索引会包含大量的文件,尤其在与其他程序共用时可能达到操作系统对最大打开文件数量的限制;复合索引则是将非复合索引的所有文件合并为一个文件,这样一 阅读详情

segment
每个segment代表lucene一个完整的索引段。通常一个索引中包含了多个segment。每个segment都有统一的前缀,前缀名由Document的数量转成36进制后,在前面加“_”而构成的。通常一个完整索引中,有且只有一个没有后缀名的segment文件,它记录了当前索引中所有的segment的信息。

 

.fnm
此文件包含了Document中的所有field名称

 

.fdx和.fdt
是综合使用的两类文件,其中.fdt存储了设置了Store.YES属性的field的数据。而.fdx是一个索引,存储Document在.fdt中的位置

 

.tii和.tis
.tis存储分词后的词条(term),而.tii就是它的索引文件,表明了每个.tis文件中词条的位置

 

deletable
作用相当于回收站,当文档在被删除后,会首先在deletable中保留一条记录,要真正删除时,才将索引移出

 

复合索引格式.cfs
在IndexWriter中有个属性useCompoundFile,默认为true即默认采用复合索引格式保存索引的,其含义是是否用复合索引格式来保存索引。索引的内容可能非常大文件可能非常多,如各这样系统打开文件数量巨大将消耗系统大量资源。因此lucene提供能一种单一索引格式。

Lucene 原理与代码分析完整版 <br /> <br />Lucene 原理与代码分析系列文章已经基本告一段落,可能问题篇还会有新的更新。<br /> <br />完整版pdf可在下面的链接下载。<br /> <br />http://download.youkuaiyun.com/source/2452992<br /> <br />目录如下:<br /> <br /> <br />目录<br />第一篇:原理篇<br />第一章:全文检索的基本原理<br />一、总论<br />二、索引里面究竟存些什么<br />三、如何创建索引<br />第一 阅读详情

相关推荐

嵌入式调光控制库:轻量级软启/渐变/记忆逻辑实现

调光控制是智能照明系统的核心基础功能,涉及亮度调节、人机交互与电气安全多重需求。其底层原理依赖于对相位角或PWM占空比的精确时序控制,并需融合软启动、渐变过渡、状态记忆等工程化逻辑。这类轻量级调光行为逻辑层,不直接操作硬件寄存器,而是以确定性、无动态内存、可配置的方式封装用户意图到目标亮度值(0–100%)的映射过程,显著提升产品鲁棒性与跨平台复用能力。广泛应用于TRIAC交流调光、LED直流PWM驱动及DALI/Matter等智能照明协议网关中,尤其适合资源受限的Cortex-M系列MCU和FreeRTO

weixin_28949937的博客 579

Lucene4.2源码解析之fdt和fdx文件的读写——fdx文件存储一个个的Block,每个Block管理着一批Chunk,通过docID读取到document需要完成Segment、Block、C...

前言 通常在搜索打分完毕后,IndexSearcher会返回一个docID序列,但是仅仅有docID我们是无法看到存储在索引中的document,这时候就需要通过docID来得到完整Document信息,这个过程就需要对fdx/fdt文件进行读操作。为了更清楚地了解fdx/fdt文件的作用,本文把fdx/fdt文件的读和写整合到了一起,尽管这在Lucene中是两个分...

djph26741的博客 398

UE5实战技巧:TextRender高效集成中文字体与材质优化

本文针对UE5中TextRender组件显示中文的常见问题,提供了一套完整的实战解决方案。详细讲解了如何通过手动创建字体资产、精准控制字符集来优化性能,并重点介绍了通过调整材质中的Lerp节点参数(如设为-85, 92)来解决中文字体显示残缺和边缘模糊等核心难题,帮助开发者实现高效且美观的中文文本渲染。

weixin_28040125的博客 382

Lucene 索引文件的生成(二十三)之fdx&&fdt&&fdm

从本篇文章开始介绍用于描述存储域(存储域的概念见文章索引文件之fdx&&fdt&&fdm)的索引文件.fdx、.fdt、.fdm的生成过程,直接给出流程图: 图1:   从图1中可以看出,生成完整的索引文件.fdx、.fdt、.fdm的过程分布在两个阶段:索引阶段、flush阶段。这也解释了为什么在文章文档提交之flush(三)的图5中,其他索引文件都是"生成"、而索引文件.fdx、.fdt、.fdm则是"更新",注意的是那篇文章中是基于Lucene 7.5.0,故不

q364367207的专栏 554

海思Hi3519AV100 sensor移植实战:IMX586驱动调试与硬件验证全流程

本文详细解析了在海思Hi3519AV100平台上移植索尼IMX586传感器的全流程实战。内容涵盖从硬件I2C通信验证、驱动代码移植与修改,到内核配置、时钟设定,以及使用示波器进行硬件信号深度验证和ISP图像调优等关键步骤,为开发者提供了一套清晰、可复现的sensor移植与调试方法。

weixin_29168393的博客 395

离散数学期末考试试卷(两套)-熟悉题型

3.设集合A={a,b,c,d}上有自反关系R={,,,,},对称关系S={,,,}。6.设集合A={1,2,3},B={u,v,w},C={a,b,c},f是集合A到集合B上的映射,g是集合B到集合C上的映射,f={, , },g={},则复合函数g。5. 设集合A={a,b,c,d,e},下列选项中哪一个集合不是A的划分( )。

muse3159546973的博客 6959

Lucene 索引文件的读取(八)之tim&&tip

本文承接文章索引文件的读取(七)之tim&&tip,继续介绍剩余的流程点,先给出流程图: 获取满足TermRangeQuery查询条件的term集合的流程图 图1: BlockTreeTermsReader   在上一篇文章中,我们已经介绍了当前流程点BlockTreeTermsReader,并且提到在生成FieldReader期间,会采用on-heap/off-heap两种导入模式(loadMode)来获取所有域的FST的主要信息,但是没有说明Lucene是如何选择这两种导入模

q364367207的专栏 656

智能化运维(AIOps)

• 调查显示,54.79%的企业当前着重关注智能运维的质量领域(包括异常检测、告警收敛、根因分析、 故障处置等)能力建设,其次45.77%的企业关注效率领域,45.49%的企业关注成本领域,30.82%的 企业关注安全领域。从目前的发展情况来看,现阶段AIOps能力大多集中在L2级别, 主要以系统辅助分析,帮助人工进行决策和操作为主,较为领先的 能力实践可以达到L3级别,而L4和L5级别随着AIOps的技术发展 和能力的逐步增强,将是未来智能运维能力建设的发展方向和目标。

追求更专业的设计 3105

边学边记(七) lucene索引结构详解四(_N.fdx,_N.fdt)

lucene索引结果,lucene获取document,lucene索引文件_N.fdx,_N.fdt 结构

深度剖析 AI 革命,直击技术本质与商业底层逻辑。 致力于将复杂前沿的 AI 技术转化为通俗易懂的科普,及切实可行的企业生产力方案。 专注:企业 AI 智能体(Agent)设计、自动化业务工作流重构。 4769

多模态数据集对比:MicroLens、PixelRec和Amazon在电商推荐中的表现差异

本文深入对比了三大主流多模态数据集MicroLens、PixelRec和Amazon在电商推荐中的表现差异。通过实际测试数据,分析了这些数据集在冷启动处理、模态融合、稀疏性挑战等关键场景下的真实表现,为算法工程师和研究员提供实用指南。特别关注多模态数据集的选择对推荐系统效果的影响,帮助开发者优化模型性能。

weixin_28717939的博客 419

【智能流体力学】使用ANSYS Fluent + SpaceClaim + SCDM制作流体力学前处理的几何模型

生成来源.scdoc文件来自前处理工具生成的模型数据,或在 FLUENT 中创建和保存的模型。生成方式: 通过前处理工具导出网格数据,或在 FLUENT 中设置并保存模型。作用: 用于储存模型的结构信息和设置,确保在 FLUENT 中的正确导入和使用。.x_t文件是 Parasolid 文件格式的扩展名,用于存储三维模型数据。在 ANSYS Fluent 中,这种格式通常用于在前处理工具之间交换几何数据。要创建.x_t。

源代码杀手的博客 3265

Lucene 索引文件的合并(三)之fdx&&fdt&&fdm

本文承接文章索引文件的合并(二)之fdx&&fdt&&fdm,继续介绍剩余的内容,下面先给出索引文件fdx&&fdt&&fdm的合并流程图。 索引文件fdx&&fdt&&fdm的合并流程图 图1: 未配置IndexSort 图2:   如果当前执行合并操作的IndexWriter中没有配置IndexSort,那么依次读取每一个待合并的段,依次读取段中的每篇文档的索引信息即可。回顾下在文章索引文件

q364367207的专栏 448

在 SAP ABAP 生态中偏爱面向对象,而不是过程式堆叠

本文探讨了ABAP开发中过程式与面向对象编程的共存现状及优化方向。文章指出,虽然过程式编程在ABAP中仍广泛存在,但随着业务复杂度提升,面向对象编程在可维护性、可测试性和重构便利性方面展现出明显优势。作者建议将过程式代码作为"适配层",仅负责输入输出转换,而将核心业务逻辑封装在类中。文章通过实际案例展示了这种架构如何提高交付效率,并提供了将Function Module转化为"薄包装"的具体实现方案,强调面向对象设计在SAP Gateway和RAP等现代架构中的重要性

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 138

Lucene索引文件格式分析

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

solotraveler 2763

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Lucene文件格式和索引过程分析

http://www.cnblogs.com/forfuture1978/archive/2010/02/02/1661439.html

一个专注于电子商务的人的唧唧歪歪 741

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

lucene-segments的文件格式分析

Lucene的索引文件格式(2)这篇文章写的非常好,参考他写了解析segments.gen和segments_1的代码。 代码如下(lucene版本为:lucene-core-3.4.0.jar)     package format; import java.io.File; import java.io.IOException; import java.util.Collec...

cfan_haifeng的专栏 637

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Lucene1.4索引文件格式分析

花了点时间研究lucene的索引格式,测试的时候我使用的是2.9.3版本的,但由于后来版本的索引相对较复杂,我就学习了下1.4版本的索引格式,主要是参见lucene官方网站上的文档(http://lucene.apache.org/java/1_4_3/fileformats.html)。 1. Lucene中的基本概念 Lucene中基本的概念包括索引,文档,域,和词条。 l 索引(i...

weixin_30675967的博客 111

[转]全文检索系统与Lucene简介

[转]开放源代码的全文检索引擎Lucene――介绍、系统结构与源码实现分析 【 相关资料 】本文来自: http://www.lucene.com.cn/about.htm(LUCENE.COM.CN 中国)Lucene官方网站:http://lucene.apache.org/java/docs/index.htmlLucene国内网站:http://www.lucene.com.cnLuce...

威尔软件 204

开放源代码的全文检索引擎Lucene

第一节 全文检索系统与Lucene简介··· 3 一、 什么是全文检索与全文检索系统?··· 3 二、 什么是Lucene?··· 4 三、 Lucene的应用、特点及优势··· 4 四、 本文的重点问题与cLucene项目··· 5 第二节 Lucene系统结构分析··· 5 一、 系统结构组织··· 5 二、...

weixin_30641999的博客 121

Lucene 3.0 原理与代码分析

本系列文章将详细描述几乎最新版本的Lucene的基本原理和代码分析。 其中总体架构和索引文件格式是Lucene 2.9的,索引过程分析是Lucene 3.0的。 鉴于索引文件格式没有太大变化,因而原文没有更新,原理和架构的文章中引用了前辈的一些图,可能属于早期的Lucene,但不影响对原理和架构的理解。 本系列文章尚在撰写之中,将会有分词器,段合并,QueryParser,查询语

502

lucene 核心概念及入门

lucene Lucene介绍及核心概念 什么是Lucene Lucene是一套用于全文检索和搜索的开放源代码程序库,由Apache软件基金会支持和提供。Lucene提供了一个简单却强大的应用程序接口,能够做全文索引和搜索,在Java开发环境里Lucene是一个成熟的免费开放源代码工具;就其本身而论,Lucene是现在并且是这几年,最受欢迎的免费Java信息检索程序库。 lucene可以做什么 L...

leone的博客 1714

Lucene学习之——停用词

        做中文文本聚类,研究中科院的imdict-chinese-analyzer分词器时,我自己加载的停用词表一直都跑不出正确的结果,于是,就追踪lucene是怎么加载自己的停用词表的。在源代码的WordListLoader.java类中,发现了这样的代码: public static HashSet getWordSet(Reader reader) throws IOExcepti...

weixin_33758863的博客 160

【Lucene】原理学习路线

基于《Lucene原理与代码分析完整版》,制定了一个系统学习Lucene原理的计划,并将每个阶段的学习内容组织成专栏文章,zero2hero 手搓 Lucene的核心概念和实现细节。

weiliang_Handan的博客 1072
上一篇: Lucene SandBox包中highlighter(高亮显示搜索结果包)存在的问题
下一篇: JE分词组件,词典编辑方法
devfan
博客等级 码龄22年 45粉丝 88原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值