File tree Expand file tree Collapse file tree 4 files changed +80
-20
lines changed
specs/composition-full/common Expand file tree Collapse file tree 4 files changed +80
-20
lines changed Original file line number Diff line number Diff line change @@ -26,4 +26,37 @@ ruleContexts:
2626 default : []
2727 example : [mobile]
2828 x-categories :
29- - Rules
29+ - Rules
30+
31+ injectedItems :
32+ type : array
33+ items :
34+ $ref : ' #/externalInjectedItem'
35+ description : |
36+ A list of injected objectIDs into an external source.
37+ default : []
38+ example :
39+ [{'objectID' : ' my-object-1' , 'metadata': {'my-field': 'my-value'}}]
40+ x-categories :
41+ - Advanced
42+
43+ externalInjectedItem :
44+ type : object
45+ properties :
46+ objectID :
47+ type : string
48+ metadata :
49+ $ref : ' #/injectedItemMetadata'
50+ description : |
51+ A list of injected objectIDs into an external source.
52+ required :
53+ - objectID
54+ example : {'objectID': 'my-object-1', 'metadata': {'my-field': 'my-value'}}
55+
56+ injectedItemMetadata :
57+ type : object
58+ additionalProperties : true
59+ description : |
60+ User defined key-values that will be added to injected item in the response.
61+ This is identical to Hits metadata which is defined in Composition or Composition Rule, with the benefit of being set at runtime.
62+ example : {'my-value': 'my-field'}
Original file line number Diff line number Diff line change @@ -54,25 +54,8 @@ injectedItem:
5454 type : string
5555 description : injected Item unique identifier.
5656 source :
57- title : injectedItemSource
58- type : object
59- additionalProperties : false
60- properties :
61- search :
62- title : injectedItemSourceSearch
63- type : object
64- additionalProperties : false
65- properties :
66- index :
67- type : string
68- description : Composition Main Index name.
69- example : Products
70- params :
71- $ref : ' ./Injection.yml#/injectedItemsQueryParameters'
72- required :
73- - index
74- required :
75- - search
57+ description : Search source to be used to inject items into result set.
58+ $ref : ' #/injectionSource'
7659 position :
7760 type : integer
7861 minimum : 0
@@ -103,3 +86,8 @@ injectedItem:
10386 - source
10487 - position
10588 - length
89+
90+ injectionSource :
91+ oneOf :
92+ - $ref : ' ./InjectionSource.yml#/search'
93+ - $ref : ' ./InjectionSource.yml#/external'
Original file line number Diff line number Diff line change 1+ search :
2+ title : injectedItemSearchSource
3+ description : Injected items will originate from a search request performed on the specified index.
4+ type : object
5+ additionalProperties : false
6+ allOf :
7+ - $ref : ' #/baseSource'
8+ - type : object
9+ additionalProperties : false
10+
11+ external :
12+ title : injectedItemExternalSource
13+ description : Injected items will originate from externally provided objectIDs (that must exist in the index) given at runtime in the run request payload.
14+ type : object
15+ additionalProperties : false
16+ allOf :
17+ - $ref : ' #/baseSource'
18+ properties :
19+ ordering :
20+ $ref : ' #/externalOrdering'
21+
22+ baseSource :
23+ type : object
24+ additionalProperties : false
25+ properties :
26+ index :
27+ type : string
28+ description : Composition Index name.
29+ example : Products
30+ params :
31+ $ref : ' ./Injection.yml#/injectedItemsQueryParameters'
32+ required :
33+ - index
34+
35+ externalOrdering :
36+ enum : ['default', 'user-defined']
37+ default : ' default'
Original file line number Diff line number Diff line change @@ -55,3 +55,5 @@ params:
5555 $ref : ' ../../params/Composition.yml#/enableABTest'
5656 enableReRanking :
5757 $ref : ' ../../../../common/schemas/IndexSettings.yml#/enableReRanking'
58+ injectedItems :
59+ $ref : ' ../../params/Composition.yml#/injectedItems'
You can’t perform that action at this time.
0 commit comments