@@ -45,6 +45,7 @@ class ES93GenericFlatVectorsWriter extends FlatVectorsWriter {
4545 this .rawVectorFormatName = rawVectorsFormatName ;
4646 this .useDirectIOReads = useDirectIOReads ;
4747 this .rawVectorWriter = rawWriter ;
48+
4849 final String metaFileName = IndexFileNames .segmentFileName (state .segmentInfo .name , state .segmentSuffix , metaInfo .extension ());
4950 try {
5051 this .metaOut = state .directory .createOutput (metaFileName , state .context );
@@ -71,24 +72,31 @@ public FlatFieldVectorsWriter<?> addField(FieldInfo fieldInfo) throws IOExceptio
7172 @ Override
7273 public void mergeOneField (FieldInfo fieldInfo , MergeState mergeState ) throws IOException {
7374 rawVectorWriter .mergeOneField (fieldInfo , mergeState );
75+ writeMeta (fieldInfo .number );
7476 }
7577
7678 @ Override
7779 public CloseableRandomVectorScorerSupplier mergeOneFieldToIndex (FieldInfo fieldInfo , MergeState mergeState ) throws IOException {
78- return rawVectorWriter .mergeOneFieldToIndex (fieldInfo , mergeState );
80+ var supplier = rawVectorWriter .mergeOneFieldToIndex (fieldInfo , mergeState );
81+ writeMeta (fieldInfo .number );
82+ return supplier ;
7983 }
8084
8185 @ Override
8286 public void flush (int maxDoc , Sorter .DocMap sortMap ) throws IOException {
8387 rawVectorWriter .flush (maxDoc , sortMap );
8488
8589 for (Integer field : fieldNumbers ) {
86- metaOut .writeInt (field );
87- metaOut .writeString (rawVectorFormatName );
88- metaOut .writeByte (useDirectIOReads ? (byte ) 1 : 0 );
90+ writeMeta (field );
8991 }
9092 }
9193
94+ private void writeMeta (int field ) throws IOException {
95+ metaOut .writeInt (field );
96+ metaOut .writeString (rawVectorFormatName );
97+ metaOut .writeByte (useDirectIOReads ? (byte ) 1 : 0 );
98+ }
99+
92100 @ Override
93101 public void finish () throws IOException {
94102 rawVectorWriter .finish ();
0 commit comments