@@ -42,13 +42,22 @@ export class RetrieverContainer {
4242 rule ?: RuleRetriever
4343 /** A retriever that re-scores only the results produced by its child retriever. */
4444 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
4552}
4653
4754export class RetrieverBase {
4855 /** Query to filter the documents that can match. */
4956 filter ?: QueryContainer | QueryContainer [ ]
5057 /** Minimum _score for matching documents. Documents with a lower _score are not included in the top documents. */
5158 min_score ?: float
59+ /** Retriever name. */
60+ _name ?: string
5261}
5362
5463export class RescorerRetriever extends RetrieverBase {
@@ -57,6 +66,36 @@ export class RescorerRetriever extends RetrieverBase {
5766 rescore : Rescore | Rescore [ ]
5867}
5968
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+
6099export class StandardRetriever extends RetrieverBase {
61100 /** Defines a query to retrieve a set of top documents. */
62101 query ?: QueryContainer
0 commit comments