Skip to content

Commit 1cb6c16

Browse files
authored
Add rescore_vector to knn query, knn section and knn retriever (#3553)
1 parent 58f9e67 commit 1cb6c16

File tree

4 files changed

+85
-9
lines changed

4 files changed

+85
-9
lines changed

output/schema/schema.json

Lines changed: 66 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

output/typescript/types.ts

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

specification/_types/Knn.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,11 @@ export type QueryVector = float[]
2727
/* KnnSearch (used in kNN search) and KnnQuery (ued in kNN queries) are close
2828
* but different enough to require different classes */
2929

30+
export interface RescoreVector {
31+
/** Applies the specified oversample factor to k on the approximate kNN search */
32+
oversample: float
33+
}
34+
3035
export interface KnnSearch {
3136
/** The name of the vector field to search against */
3237
field: Field
@@ -49,6 +54,8 @@ export interface KnnSearch {
4954
* @doc_id knn-inner-hits
5055
*/
5156
inner_hits?: InnerHits
57+
/** Apply oversampling and rescoring to quantized vectors */
58+
rescore_vector?: RescoreVector
5259
}
5360

5461
/**
@@ -69,6 +76,8 @@ export interface KnnQuery extends QueryBase {
6976
filter?: QueryContainer | QueryContainer[]
7077
/** The minimum similarity for a vector to be considered a match */
7178
similarity?: float
79+
/** Apply oversampling and rescoring to quantized vectors */
80+
rescore_vector?: RescoreVector
7281
}
7382

7483
/** @variants container */

specification/_types/Retriever.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919

2020
import { FieldCollapse } from '@global/search/_types/FieldCollapse'
2121
import { UserDefinedValue } from '@spec_utils/UserDefinedValue'
22-
import { QueryVector, QueryVectorBuilder } from '@_types/Knn'
22+
import { QueryVector, QueryVectorBuilder, RescoreVector } from '@_types/Knn'
2323
import { float, integer } from '@_types/Numeric'
2424
import { Sort, SortResults } from '@_types/sort'
2525
import { Id } from './common'
@@ -74,6 +74,8 @@ export class KnnRetriever extends RetrieverBase {
7474
num_candidates: integer
7575
/** The minimum similarity required for a document to be considered a match. */
7676
similarity?: float
77+
/** Apply oversampling and rescoring to quantized vectors */
78+
rescore_vector?: RescoreVector
7779
}
7880

7981
export class RRFRetriever extends RetrieverBase {

0 commit comments

Comments
 (0)