Skip to content

Commit 3c434c2

Browse files
committed
Write out during merging too
1 parent e77c8ff commit 3c434c2

File tree

2 files changed

+14
-6
lines changed

2 files changed

+14
-6
lines changed

server/src/main/java/org/elasticsearch/index/codec/vectors/es93/ES93GenericFlatVectorsWriter.java

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -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();

server/src/main/java/org/elasticsearch/index/mapper/MapperFeatures.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,9 +50,9 @@ public class MapperFeatures implements FeatureSpecification {
5050
static final NodeFeature SEARCH_LOAD_PER_SHARD = new NodeFeature("mapper.search_load_per_shard");
5151
static final NodeFeature PATTERN_TEXT = new NodeFeature("mapper.patterned_text");
5252
static final NodeFeature IGNORED_SOURCE_FIELDS_PER_ENTRY = new NodeFeature("mapper.ignored_source_fields_per_entry");
53-
public static final NodeFeature MULTI_FIELD_UNICODE_OPTIMISATION_FIX = new NodeFeature("mapper.multi_field.unicode_optimisation_fix");
53+
static final NodeFeature MULTI_FIELD_UNICODE_OPTIMISATION_FIX = new NodeFeature("mapper.multi_field.unicode_optimisation_fix");
5454
static final NodeFeature PATTERN_TEXT_RENAME = new NodeFeature("mapper.pattern_text_rename");
55-
public static final NodeFeature DISKBBQ_ON_DISK_RESCORING = new NodeFeature("mapper.vectors.diskbbq_on_disk_rescoring");
55+
static final NodeFeature DISKBBQ_ON_DISK_RESCORING = new NodeFeature("mapper.vectors.diskbbq_on_disk_rescoring");
5656

5757
@Override
5858
public Set<NodeFeature> getTestFeatures() {

0 commit comments

Comments
 (0)