Skip to content

Commit 2488478

Browse files
committed
Add Elasticsearch specification for query rules retriever
1 parent 88226e1 commit 2488478

File tree

3 files changed

+103
-5
lines changed

3 files changed

+103
-5
lines changed

output/schema/schema.json

Lines changed: 80 additions & 5 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: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

specification/_types/Retriever.ts

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ import { QueryVector, QueryVectorBuilder } from '@_types/Knn'
2222
import { float, integer } from '@_types/Numeric'
2323
import { Sort, SortResults } from '@_types/sort'
2424
import { QueryContainer } from './query_dsl/abstractions'
25+
import { Id } from './common'
26+
import { UserDefinedValue } from '@spec_utils/UserDefinedValue'
2527

2628
/**
2729
* @variants container
@@ -33,6 +35,8 @@ export class RetrieverContainer {
3335
knn?: KnnRetriever
3436
/** A retriever that produces top documents from reciprocal rank fusion (RRF). */
3537
rrf?: RRFRetriever
38+
/** A retriever that replaces the functionality of a rule query. */
39+
rule?: RuleRetriever
3640
}
3741

3842
export class RetrieverBase {
@@ -78,3 +82,14 @@ export class RRFRetriever extends RetrieverBase {
7882
/** This value determines the size of the individual result sets per query. */
7983
rank_window_size?: integer
8084
}
85+
86+
export class RuleRetriever extends RetrieverBase {
87+
/** The ruleset IDs containing the rules this retriever is evaluating against. */
88+
ruleset_ids: Id[]
89+
/** The match criteria that will determine if a rule in the provided rulesets should be applied. */
90+
match_criteria: UserDefinedValue
91+
/** The retriever whose results rules should be applied to. */
92+
retriever: RetrieverContainer
93+
/** This value determines the size of the individual result set. */
94+
rank_window_size?: integer
95+
}

0 commit comments

Comments
 (0)