IndexFileDeleter是Apache Lucene 内部一个非常关键的文件生命周期管理类,它的核心职责是:安全、可靠地跟踪和删除索引中不再被任何“提交点”(commit point)引用的文件。✅ 一句话总结IndexFileDeleter通过引用计数(reference counting)机制,确保只有当某个索引文件不再被任何有效的SegmentInfos(即 commit 或 in-memory 状态)引用时,才将其从磁盘上物理删除,从而避免误删正在使用的文件,保证索引的一致性和可靠性。🔍 核心功能详解1.什么是“提交点”(Commit Point)?每次调用IndexWriter.commit()会生成一个segments_N文件(如segments_1,segments_2...)。这个文件记录了当时索引包含哪些段(segments),称为一个commit point。即使未 commit,IndexWriter内存中的SegmentInfos也代表一个“活跃但未持久化”的状态,也需要保护其引用的文件不被删除。2.为什么需要IndexFileDeleter?Lucene 的写入是追加式 + 多版本的:合并(