Skip to content

Commit 2a35640

Browse files
authored
Update to account for new tiny segments parameter (#137007)
Maintain existing behaviour for now, to always create an HNSW graph
1 parent 9be0f2b commit 2a35640

File tree

8 files changed

+48
-7
lines changed

8 files changed

+48
-7
lines changed

server/src/main/java/org/elasticsearch/index/codec/vectors/ES814HnswScalarQuantizedVectorsFormat.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,15 @@ protected FlatVectorsFormat flatVectorsFormat() {
4545

4646
@Override
4747
public KnnVectorsWriter fieldsWriter(SegmentWriteState state) throws IOException {
48-
return new Lucene99HnswVectorsWriter(state, maxConn, beamWidth, flatVectorsFormat.fieldsWriter(state), numMergeWorkers, mergeExec);
48+
return new Lucene99HnswVectorsWriter(
49+
state,
50+
maxConn,
51+
beamWidth,
52+
flatVectorsFormat.fieldsWriter(state),
53+
numMergeWorkers,
54+
mergeExec,
55+
0
56+
);
4957
}
5058

5159
@Override

server/src/main/java/org/elasticsearch/index/codec/vectors/ES815HnswBitVectorsFormat.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,15 @@ protected FlatVectorsFormat flatVectorsFormat() {
4040

4141
@Override
4242
public KnnVectorsWriter fieldsWriter(SegmentWriteState state) throws IOException {
43-
return new Lucene99HnswVectorsWriter(state, maxConn, beamWidth, flatVectorsFormat.fieldsWriter(state), numMergeWorkers, mergeExec);
43+
return new Lucene99HnswVectorsWriter(
44+
state,
45+
maxConn,
46+
beamWidth,
47+
flatVectorsFormat.fieldsWriter(state),
48+
numMergeWorkers,
49+
mergeExec,
50+
0
51+
);
4452
}
4553

4654
@Override

server/src/main/java/org/elasticsearch/index/codec/vectors/es818/ES818HnswBinaryQuantizedVectorsFormat.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,15 @@ protected FlatVectorsFormat flatVectorsFormat() {
7777

7878
@Override
7979
public KnnVectorsWriter fieldsWriter(SegmentWriteState state) throws IOException {
80-
return new Lucene99HnswVectorsWriter(state, maxConn, beamWidth, flatVectorsFormat.fieldsWriter(state), numMergeWorkers, mergeExec);
80+
return new Lucene99HnswVectorsWriter(
81+
state,
82+
maxConn,
83+
beamWidth,
84+
flatVectorsFormat.fieldsWriter(state),
85+
numMergeWorkers,
86+
mergeExec,
87+
0
88+
);
8189
}
8290

8391
@Override

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

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,15 @@ protected FlatVectorsFormat flatVectorsFormat() {
9696

9797
@Override
9898
public KnnVectorsWriter fieldsWriter(SegmentWriteState state) throws IOException {
99-
return new Lucene99HnswVectorsWriter(state, maxConn, beamWidth, flatVectorsFormat.fieldsWriter(state), numMergeWorkers, mergeExec);
99+
return new Lucene99HnswVectorsWriter(
100+
state,
101+
maxConn,
102+
beamWidth,
103+
flatVectorsFormat.fieldsWriter(state),
104+
numMergeWorkers,
105+
mergeExec,
106+
0
107+
);
100108
}
101109

102110
@Override

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

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,15 @@ protected FlatVectorsFormat flatVectorsFormat() {
6161

6262
@Override
6363
public KnnVectorsWriter fieldsWriter(SegmentWriteState state) throws IOException {
64-
return new Lucene99HnswVectorsWriter(state, maxConn, beamWidth, flatVectorsFormat.fieldsWriter(state), numMergeWorkers, mergeExec);
64+
return new Lucene99HnswVectorsWriter(
65+
state,
66+
maxConn,
67+
beamWidth,
68+
flatVectorsFormat.fieldsWriter(state),
69+
numMergeWorkers,
70+
mergeExec,
71+
0
72+
);
6573
}
6674

6775
@Override

server/src/main/java/org/elasticsearch/index/mapper/vectors/DenseVectorFieldMapper.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1966,7 +1966,7 @@ public KnnVectorsFormat getVectorsFormat(ElementType elementType) {
19661966
if (elementType == ElementType.BIT) {
19671967
return new ES815HnswBitVectorsFormat(m, efConstruction);
19681968
}
1969-
return new Lucene99HnswVectorsFormat(m, efConstruction, 1, null);
1969+
return new Lucene99HnswVectorsFormat(m, efConstruction, 1, null, 0);
19701970
}
19711971

19721972
@Override

server/src/test/java/org/elasticsearch/index/codec/vectors/es816/ES816HnswBinaryQuantizedRWVectorsFormat.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,6 @@ class ES816HnswBinaryQuantizedRWVectorsFormat extends ES816HnswBinaryQuantizedVe
5050

5151
@Override
5252
public KnnVectorsWriter fieldsWriter(SegmentWriteState state) throws IOException {
53-
return new Lucene99HnswVectorsWriter(state, maxConn, beamWidth, flatVectorsFormat.fieldsWriter(state), 1, null);
53+
return new Lucene99HnswVectorsWriter(state, maxConn, beamWidth, flatVectorsFormat.fieldsWriter(state), 1, null, 0);
5454
}
5555
}

server/src/test/java/org/elasticsearch/index/mapper/vectors/DenseVectorFieldMapperTests.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2766,6 +2766,7 @@ public void testKnnVectorsFormat() throws IOException {
27662766
+ (setM ? m : DEFAULT_MAX_CONN)
27672767
+ ", beamWidth="
27682768
+ (setEfConstruction ? efConstruction : DEFAULT_BEAM_WIDTH)
2769+
+ ", tinySegmentsThreshold=0"
27692770
+ ", flatVectorFormat=Lucene99FlatVectorsFormat(vectorsScorer=DefaultFlatVectorScorer())"
27702771
+ ")";
27712772
assertEquals(expectedString, knnVectorsFormat.toString());

0 commit comments

Comments
 (0)