28
28
import org .opensearch .knn .index .VectorDataType ;
29
29
import org .opensearch .knn .index .codec .nativeindex .NativeIndexWriter ;
30
30
import org .opensearch .knn .index .quantizationservice .QuantizationService ;
31
+ import org .opensearch .knn .index .remote .RemoteIndexBuilder ;
31
32
import org .opensearch .knn .index .vectorvalues .KNNVectorValues ;
32
33
import org .opensearch .knn .plugin .stats .KNNGraphValue ;
33
34
import org .opensearch .knn .quantization .models .quantizationParams .QuantizationParams ;
@@ -54,15 +55,26 @@ public class NativeEngines990KnnVectorsWriter extends KnnVectorsWriter {
54
55
private final List <NativeEngineFieldVectorsWriter <?>> fields = new ArrayList <>();
55
56
private boolean finished ;
56
57
private final Integer approximateThreshold ;
58
+ private final RemoteIndexBuilder remoteIndexBuilder ;
57
59
58
60
public NativeEngines990KnnVectorsWriter (
59
61
SegmentWriteState segmentWriteState ,
60
62
FlatVectorsWriter flatVectorsWriter ,
61
63
Integer approximateThreshold
64
+ ) {
65
+ this (segmentWriteState , flatVectorsWriter , approximateThreshold , null );
66
+ }
67
+
68
+ public NativeEngines990KnnVectorsWriter (
69
+ SegmentWriteState segmentWriteState ,
70
+ FlatVectorsWriter flatVectorsWriter ,
71
+ Integer approximateThreshold ,
72
+ RemoteIndexBuilder remoteIndexBuilder
62
73
) {
63
74
this .segmentWriteState = segmentWriteState ;
64
75
this .flatVectorsWriter = flatVectorsWriter ;
65
76
this .approximateThreshold = approximateThreshold ;
77
+ this .remoteIndexBuilder = remoteIndexBuilder ;
66
78
}
67
79
68
80
/**
@@ -114,7 +126,14 @@ public void flush(int maxDoc, final Sorter.DocMap sortMap) throws IOException {
114
126
);
115
127
continue ;
116
128
}
117
- final NativeIndexWriter writer = NativeIndexWriter .getWriter (fieldInfo , segmentWriteState , quantizationState );
129
+ log .info ("GOT HERE - FLUSH" );
130
+ final NativeIndexWriter writer = NativeIndexWriter .getWriter (
131
+ fieldInfo ,
132
+ segmentWriteState ,
133
+ quantizationState ,
134
+ remoteIndexBuilder ,
135
+ knnVectorValuesSupplier
136
+ );
118
137
final KNNVectorValues <?> knnVectorValues = knnVectorValuesSupplier .get ();
119
138
120
139
StopWatch stopWatch = new StopWatch ().start ();
@@ -153,7 +172,13 @@ public void mergeOneField(final FieldInfo fieldInfo, final MergeState mergeState
153
172
);
154
173
return ;
155
174
}
156
- final NativeIndexWriter writer = NativeIndexWriter .getWriter (fieldInfo , segmentWriteState , quantizationState );
175
+ final NativeIndexWriter writer = NativeIndexWriter .getWriter (
176
+ fieldInfo ,
177
+ segmentWriteState ,
178
+ quantizationState ,
179
+ remoteIndexBuilder ,
180
+ knnVectorValuesSupplier
181
+ );
157
182
final KNNVectorValues <?> knnVectorValues = knnVectorValuesSupplier .get ();
158
183
159
184
StopWatch stopWatch = new StopWatch ().start ();
0 commit comments