Skip to content

Commit 056d914

Browse files
committed
added ivf_format feature flag
1 parent 0b63778 commit 056d914

File tree

5 files changed

+16
-8
lines changed

5 files changed

+16
-8
lines changed

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

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2552,7 +2552,6 @@ public Query createKnnQuery(
25522552
queryVector.asByteVector(),
25532553
k,
25542554
numCands,
2555-
visitPercentage,
25562555
filter,
25572556
similarityThreshold,
25582557
parentFilter,
@@ -2575,7 +2574,6 @@ public Query createKnnQuery(
25752574
queryVector.asByteVector(),
25762575
k,
25772576
numCands,
2578-
visitPercentage,
25792577
filter,
25802578
similarityThreshold,
25812579
parentFilter,
@@ -2597,7 +2595,6 @@ private Query createKnnBitQuery(
25972595
byte[] queryVector,
25982596
int k,
25992597
int numCands,
2600-
float visitPercentage,
26012598
Query filter,
26022599
Float similarityThreshold,
26032600
BitSetProducer parentFilter,
@@ -2637,7 +2634,6 @@ private Query createKnnByteQuery(
26372634
byte[] queryVector,
26382635
int k,
26392636
int numCands,
2640-
float visitPercentage,
26412637
Query filter,
26422638
Float similarityThreshold,
26432639
BitSetProducer parentFilter,

server/src/main/java/org/elasticsearch/search/retriever/KnnRetrieverBuilder.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
import java.util.function.Supplier;
3535

3636
import static org.elasticsearch.common.Strings.format;
37+
import static org.elasticsearch.index.mapper.vectors.DenseVectorFieldMapper.IVF_FORMAT;
3738
import static org.elasticsearch.xcontent.ConstructingObjectParser.constructorArg;
3839
import static org.elasticsearch.xcontent.ConstructingObjectParser.optionalConstructorArg;
3940

@@ -91,7 +92,9 @@ public final class KnnRetrieverBuilder extends RetrieverBuilder {
9192
);
9293
PARSER.declareInt(constructorArg(), K_FIELD);
9394
PARSER.declareInt(constructorArg(), NUM_CANDS_FIELD);
94-
PARSER.declareFloat(optionalConstructorArg(), VISIT_PERCENTAGE_FIELD);
95+
if (IVF_FORMAT.isEnabled()) {
96+
PARSER.declareFloat(optionalConstructorArg(), VISIT_PERCENTAGE_FIELD);
97+
}
9598
PARSER.declareFloat(optionalConstructorArg(), VECTOR_SIMILARITY);
9699
PARSER.declareField(
97100
optionalConstructorArg(),

server/src/main/java/org/elasticsearch/search/vectors/KnnSearchBuilder.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434

3535
import static org.elasticsearch.TransportVersions.V_8_11_X;
3636
import static org.elasticsearch.common.Strings.format;
37+
import static org.elasticsearch.index.mapper.vectors.DenseVectorFieldMapper.IVF_FORMAT;
3738
import static org.elasticsearch.index.query.AbstractQueryBuilder.DEFAULT_BOOST;
3839
import static org.elasticsearch.search.SearchService.DEFAULT_SIZE;
3940
import static org.elasticsearch.xcontent.ConstructingObjectParser.constructorArg;
@@ -82,7 +83,9 @@ public class KnnSearchBuilder implements Writeable, ToXContentFragment, Rewritea
8283
);
8384
PARSER.declareInt(optionalConstructorArg(), K_FIELD);
8485
PARSER.declareInt(optionalConstructorArg(), NUM_CANDS_FIELD);
85-
PARSER.declareFloat(optionalConstructorArg(), VISIT_PERCENTAGE_FIELD);
86+
if (IVF_FORMAT.isEnabled()) {
87+
PARSER.declareFloat(optionalConstructorArg(), VISIT_PERCENTAGE_FIELD);
88+
}
8689
PARSER.declareNamedObject(
8790
optionalConstructorArg(),
8891
(p, c, n) -> p.namedObject(QueryVectorBuilder.class, n, c),

server/src/main/java/org/elasticsearch/search/vectors/KnnSearchRequestParser.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
import java.util.List;
3131
import java.util.Objects;
3232

33+
import static org.elasticsearch.index.mapper.vectors.DenseVectorFieldMapper.IVF_FORMAT;
3334
import static org.elasticsearch.xcontent.ConstructingObjectParser.constructorArg;
3435
import static org.elasticsearch.xcontent.ConstructingObjectParser.optionalConstructorArg;
3536

@@ -218,7 +219,9 @@ static class KnnSearch {
218219
PARSER.declareFloatArray(constructorArg(), QUERY_VECTOR_FIELD);
219220
PARSER.declareInt(constructorArg(), K_FIELD);
220221
PARSER.declareInt(constructorArg(), NUM_CANDS_FIELD);
221-
PARSER.declareFloat(optionalConstructorArg(), VISIT_PERCENTAGE_FIELD);
222+
if (IVF_FORMAT.isEnabled()) {
223+
PARSER.declareFloat(optionalConstructorArg(), VISIT_PERCENTAGE_FIELD);
224+
}
222225
}
223226

224227
public static KnnSearch parse(XContentParser parser) throws IOException {

server/src/main/java/org/elasticsearch/search/vectors/KnnVectorQueryBuilder.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@
4848

4949
import static org.elasticsearch.TransportVersions.KNN_QUERY_RESCORE_OVERSAMPLE;
5050
import static org.elasticsearch.common.Strings.format;
51+
import static org.elasticsearch.index.mapper.vectors.DenseVectorFieldMapper.IVF_FORMAT;
5152
import static org.elasticsearch.search.SearchService.DEFAULT_SIZE;
5253
import static org.elasticsearch.xcontent.ConstructingObjectParser.constructorArg;
5354
import static org.elasticsearch.xcontent.ConstructingObjectParser.optionalConstructorArg;
@@ -96,7 +97,9 @@ public class KnnVectorQueryBuilder extends AbstractQueryBuilder<KnnVectorQueryBu
9697
);
9798
PARSER.declareInt(optionalConstructorArg(), K_FIELD);
9899
PARSER.declareInt(optionalConstructorArg(), NUM_CANDS_FIELD);
99-
PARSER.declareFloat(optionalConstructorArg(), VISIT_PERCENTAGE_FIELD);
100+
if (IVF_FORMAT.isEnabled()) {
101+
PARSER.declareFloat(optionalConstructorArg(), VISIT_PERCENTAGE_FIELD);
102+
}
100103
PARSER.declareFloat(optionalConstructorArg(), VECTOR_SIMILARITY_FIELD);
101104
PARSER.declareNamedObject(
102105
optionalConstructorArg(),

0 commit comments

Comments
 (0)