在 Lucene 中,**HNSW 索引**(如 `Lucene99HnswVectorsFormat`)不会存进 `.cfs`,而是使用专门的 **向量索引文件格式**,扩展名为:
| 文件类型 | 作用 |
|----------|------|
| `.vex` | **HNSW 图结构数据**(邻居连接、层级信息) |
| `.vem` | **HNSW 元数据**(维度、连接数、度量方式等) |
| `.vec` | 原始向量数据(Flat 索引基础) |
| `.vemf` | Flat 索引的元数据 |
| `.veq` | 量化后的向量数据(如 int8) |
| `.vemq` | 量化索引的元数据 |
### ✅ 实际目录示例(Lucene 9.12+)
```
_0_Lucene99HnswVectorsFormat_0.vex ← HNSW 图
_0_Lucene99HnswVectorsFormat_0.vem ← HNSW 元信息
_0_Lucene99HnswVectorsFormat_0.vec ← 原始向量
_0_Lucene99HnswVectorsFormat_0.vemf ← Flat 元信息
```
这些文件**始终独立存在**,不会被合并进 `.cfs`,以便支持 mmap 和高效跳读。