@@ -42,13 +42,22 @@ export class RetrieverContainer {
42
42
rule ?: RuleRetriever
43
43
/** A retriever that re-scores only the results produced by its child retriever. */
44
44
rescorer ?: RescorerRetriever
45
+ /** A retriever that supports the combination of different retrievers through a weighted linear combination. */
46
+ linear ?: LinearRetriever
47
+ /**
48
+ * A pinned retriever applies pinned documents to the underlying retriever.
49
+ * This retriever will rewrite to a PinnedQueryBuilder.
50
+ */
51
+ pinned ?: PinnedRetriever
45
52
}
46
53
47
54
export class RetrieverBase {
48
55
/** Query to filter the documents that can match. */
49
56
filter ?: QueryContainer | QueryContainer [ ]
50
57
/** Minimum _score for matching documents. Documents with a lower _score are not included in the top documents. */
51
58
min_score ?: float
59
+ /** Retriever name. */
60
+ _name ?: string
52
61
}
53
62
54
63
export class RescorerRetriever extends RetrieverBase {
@@ -57,6 +66,36 @@ export class RescorerRetriever extends RetrieverBase {
57
66
rescore : Rescore | Rescore [ ]
58
67
}
59
68
69
+ export class LinearRetriever extends RetrieverBase {
70
+ /** Inner retrievers. */
71
+ retrievers ?: InnerRetriever [ ]
72
+ rank_window_size : integer
73
+ }
74
+
75
+ export class PinnedRetriever extends RetrieverBase {
76
+ /** Inner retriever. */
77
+ retriever : RetrieverContainer
78
+ ids ?: string [ ]
79
+ docs ?: SpecifiedDocument [ ]
80
+ rank_window_size : integer
81
+ }
82
+
83
+ export class InnerRetriever {
84
+ retriever : RetrieverContainer
85
+ weight : float
86
+ normalizer : ScoreNormalizer
87
+ }
88
+
89
+ export enum ScoreNormalizer {
90
+ none ,
91
+ minmax
92
+ }
93
+
94
+ export class SpecifiedDocument {
95
+ index ?: string
96
+ id : string
97
+ }
98
+
60
99
export class StandardRetriever extends RetrieverBase {
61
100
/** Defines a query to retrieve a set of top documents. */
62
101
query ?: QueryContainer
0 commit comments