Skip to content

Commit 0d77521

Browse files
committed
Add capability for BwC tests
1 parent ee904b0 commit 0d77521

File tree

7 files changed

+45
-1
lines changed

7 files changed

+45
-1
lines changed

rest-api-spec/src/yamlRestTest/resources/rest-api-spec/test/search.vectors/41_knn_search_bbq_hnsw.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,13 @@ setup:
8989

9090
---
9191
"Vector rescoring has similar ordering as knn, same scoring as exact search for kNN section":
92+
- requires:
93+
reason: 'Quantized vector rescoring is required'
94+
test_runner_features: [capabilities]
95+
capabilities:
96+
- method: GET
97+
path: /_search
98+
capabilities: [knn_quantized_vector_rescore]
9299
- skip:
93100
features: "headers"
94101
- do:

rest-api-spec/src/yamlRestTest/resources/rest-api-spec/test/search.vectors/41_knn_search_byte_quantized.yml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -372,9 +372,15 @@ setup:
372372
---
373373
# Won't be true for larger datasets, but this helps checking kNN vs rescoring vs exact search
374374
"Vector rescoring has same ordering as knn, same scoring as exact search for kNN section":
375+
- requires:
376+
reason: 'Quantized vector rescoring is required'
377+
test_runner_features: [capabilities]
378+
capabilities:
379+
- method: GET
380+
path: /_search
381+
capabilities: [knn_quantized_vector_rescore]
375382
- skip:
376383
features: "headers"
377-
378384
# kNN search
379385
- do:
380386
headers:

rest-api-spec/src/yamlRestTest/resources/rest-api-spec/test/search.vectors/41_knn_search_half_byte_quantized.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -550,6 +550,13 @@ setup:
550550
- match: { hits.hits.2._id: "3"}
551551
---
552552
"Vector rescoring has same ordering as knn, same scoring as exact search for kNN section":
553+
- requires:
554+
reason: 'Quantized vector rescoring is required'
555+
test_runner_features: [capabilities]
556+
capabilities:
557+
- method: GET
558+
path: /_search
559+
capabilities: [knn_quantized_vector_rescore]
553560
- skip:
554561
features: "headers"
555562
- do:

rest-api-spec/src/yamlRestTest/resources/rest-api-spec/test/search.vectors/42_knn_search_bbq_flat.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,13 @@ setup:
8888
- match: { hits.hits.2._id: "1" }
8989
---
9090
"Vector rescoring has similar ordering as knn, same scoring as exact search for kNN section":
91+
- requires:
92+
reason: 'Quantized vector rescoring is required'
93+
test_runner_features: [capabilities]
94+
capabilities:
95+
- method: GET
96+
path: /_search
97+
capabilities: [knn_quantized_vector_rescore]
9198
- skip:
9299
features: "headers"
93100
- do:
@@ -147,6 +154,7 @@ setup:
147154
Content-Type: application/json
148155
search:
149156
rest_total_hits_as_int: true
157+
index: bbq_flat
150158
body:
151159
query:
152160
script_score:

rest-api-spec/src/yamlRestTest/resources/rest-api-spec/test/search.vectors/42_knn_search_int4_flat.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -346,6 +346,13 @@ setup:
346346
vector: [1.0, 2.0, 3.0, 4.0, 5.0, 6.0]
347347
---
348348
"Vector rescoring has same ordering as knn, same scoring as exact search for kNN section":
349+
- requires:
350+
reason: 'Quantized vector rescoring is required'
351+
test_runner_features: [capabilities]
352+
capabilities:
353+
- method: GET
354+
path: /_search
355+
capabilities: [knn_quantized_vector_rescore]
349356
- skip:
350357
features: "headers"
351358
- do:

rest-api-spec/src/yamlRestTest/resources/rest-api-spec/test/search.vectors/42_knn_search_int8_flat.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -263,6 +263,13 @@ setup:
263263
- lte: {hits.hits.2._score: 0.791}
264264
---
265265
"Vector rescoring has same ordering as knn, same scoring as exact search for kNN section":
266+
- requires:
267+
reason: 'Quantized vector rescoring is required'
268+
test_runner_features: [capabilities]
269+
capabilities:
270+
- method: GET
271+
path: /_search
272+
capabilities: [knn_quantized_vector_rescore]
266273
- skip:
267274
features: "headers"
268275
- do:

server/src/main/java/org/elasticsearch/rest/action/search/SearchCapabilities.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ private SearchCapabilities() {}
4444
private static final String MULTI_DENSE_VECTOR_SCRIPT_MAX_SIM = "multi_dense_vector_script_max_sim_with_bugfix";
4545

4646
private static final String RANDOM_SAMPLER_WITH_SCORED_SUBAGGS = "random_sampler_with_scored_subaggs";
47+
private static final String KNN_QUANTIZED_VECTOR_RESCORE = "knn_quantized_vector_rescore";
4748

4849
public static final Set<String> CAPABILITIES;
4950
static {
@@ -55,6 +56,7 @@ private SearchCapabilities() {}
5556
capabilities.add(TRANSFORM_RANK_RRF_TO_RETRIEVER);
5657
capabilities.add(NESTED_RETRIEVER_INNER_HITS_SUPPORT);
5758
capabilities.add(RANDOM_SAMPLER_WITH_SCORED_SUBAGGS);
59+
capabilities.add(KNN_QUANTIZED_VECTOR_RESCORE);
5860
if (MultiDenseVectorFieldMapper.FEATURE_FLAG.isEnabled()) {
5961
capabilities.add(MULTI_DENSE_VECTOR_FIELD_MAPPER);
6062
capabilities.add(MULTI_DENSE_VECTOR_SCRIPT_ACCESS);

0 commit comments

Comments
 (0)