Skip to content

Commit 54606b3

Browse files
authored
refactor(specs): extract results field in a dedicated directory (#5739)
1 parent 1f5b349 commit 54606b3

File tree

3 files changed

+107
-94
lines changed

3 files changed

+107
-94
lines changed

specs/composition/common/schemas/responses/SearchResponse.yml

Lines changed: 1 addition & 89 deletions
Original file line numberDiff line numberDiff line change
@@ -12,98 +12,10 @@ searchResults:
1212
type: array
1313
description: Search results.
1414
items:
15-
$ref: '#/searchResultsItem'
15+
$ref: './runResponseComponents/SingleResultSet.yml#/searchResultsItem'
1616
required:
1717
- results
1818

19-
searchResultsItem:
20-
allOf:
21-
- $ref: '../../../../common/schemas/SearchResponse.yml#/baseSearchResponse'
22-
- $ref: '#/SearchPagination'
23-
- $ref: '#/searchHits'
24-
- $ref: '#/resultsCompositionsResponse'
25-
26-
SearchPagination:
27-
type: object
28-
additionalProperties: false
29-
properties:
30-
page:
31-
$ref: '../../../../common/schemas/SearchParams.yml#/page'
32-
nbHits:
33-
$ref: '../../../../common/schemas/SearchResponse.yml#/nbHits'
34-
nbPages:
35-
$ref: '../../../../common/schemas/SearchResponse.yml#/nbPages'
36-
hitsPerPage:
37-
$ref: '../../../../common/schemas/IndexSettings.yml#/hitsPerPage'
38-
required:
39-
- page
40-
- nbHits
41-
- nbPages
42-
- hitsPerPage
43-
44-
searchHits:
45-
type: object
46-
additionalProperties: true
47-
properties:
48-
hits:
49-
type: array
50-
description: |
51-
Search results (hits).
52-
53-
Hits are records from your index that match the search criteria, augmented with additional attributes, such as, for highlighting.
54-
items:
55-
$ref: 'Hit.yml#/hit'
56-
query:
57-
$ref: '../../../../common/schemas/SearchParams.yml#/query'
58-
params:
59-
type: string
60-
description: URL-encoded string of all search parameters.
61-
example: query=a&hitsPerPage=20
62-
required:
63-
- hits
64-
- query
65-
- params
66-
67-
resultsCompositionsResponse:
68-
type: object
69-
additionalProperties: true
70-
properties:
71-
compositions:
72-
title: resultsCompositionsInfoResponse
73-
type: object
74-
additionalProperties:
75-
title: resultsCompositionInfoResponse
76-
x-additionalPropertiesName: composition-id
77-
type: object
78-
properties:
79-
injectedItems:
80-
type: array
81-
items:
82-
$ref: '#/resultsInjectedItemInfoResponse'
83-
required:
84-
- injectedItems
85-
required:
86-
- compositions
87-
88-
resultsInjectedItemInfoResponse:
89-
type: object
90-
additionalProperties: true
91-
properties:
92-
key:
93-
type: string
94-
appliedRules:
95-
type: array
96-
items:
97-
title: resultsInjectedItemAppliedRulesInfoResponse
98-
type: object
99-
properties:
100-
objectID:
101-
$ref: '../../../../common/parameters.yml#/objectID'
102-
required:
103-
- objectID
104-
required:
105-
- key
106-
10719
# copy of specs/common/schemas/SearchResponse.yml/#baseSearchResponse without appliedRules
10820
compositionBaseSearchResponse:
10921
type: object

specs/composition/common/schemas/responses/Hit.yml renamed to specs/composition/common/schemas/responses/runResponseComponents/Hit.yml

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,15 @@ hit:
1010
- objectID
1111
properties:
1212
objectID:
13-
$ref: '../../../../common/parameters.yml#/objectID'
13+
$ref: '../../../../../common/parameters.yml#/objectID'
1414
_highlightResult:
15-
$ref: '../../../../common/schemas/HighlightResult.yml#/highlightResultMap'
15+
$ref: '../../../../../common/schemas/HighlightResult.yml#/highlightResultMap'
1616
_snippetResult:
17-
$ref: '../../../../common/schemas/SnippetResult.yml#/snippetResultMap'
17+
$ref: '../../../../../common/schemas/SnippetResult.yml#/snippetResultMap'
1818
_rankingInfo:
1919
$ref: '#/rankingInfo'
2020
_distinctSeqID:
21-
$ref: '../../../../common/schemas/Hit.yml#/distinctSeqID'
21+
$ref: '../../../../../common/schemas/Hit.yml#/distinctSeqID'
2222
_extra:
2323
$ref: '#/hitMetadata'
2424

@@ -33,7 +33,7 @@ hitMetadata:
3333

3434
rankingInfo:
3535
allOf:
36-
- $ref: '../../../../common/schemas/Hit.yml#/rankingInfo'
36+
- $ref: '../../../../../common/schemas/Hit.yml#/rankingInfo'
3737
- $ref: '#/compositionRankingInfo'
3838

3939
compositionRankingInfo:
@@ -50,8 +50,12 @@ compositionRankingInfo:
5050
properties:
5151
index:
5252
type: string
53+
example: 'products'
5354
injectedItemKey:
5455
type: string
56+
example: 'sponsored-products'
5557
required:
5658
- index
5759
- injectedItemKey
60+
example:
61+
'my-composition-to-sponsor-products': {index: 'products', injectedItemKey: 'sponsored-products'}
Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
searchResultsItem:
2+
allOf:
3+
- $ref: '../../../../../common/schemas/SearchResponse.yml#/baseSearchResponse'
4+
- $ref: '#/SearchPagination'
5+
- $ref: '#/searchHits'
6+
- $ref: '#/resultsCompositionsResponse'
7+
8+
SearchPagination:
9+
type: object
10+
additionalProperties: false
11+
properties:
12+
page:
13+
type: integer
14+
description: The current page of the results.
15+
example: 0
16+
nbHits:
17+
type: integer
18+
description: Number of results (hits).
19+
example: 20
20+
nbPages:
21+
type: integer
22+
description: Number of pages of results.
23+
example: 1
24+
hitsPerPage:
25+
type: integer
26+
description: Number of hits returned per page.
27+
example: 20
28+
required:
29+
- page
30+
- nbHits
31+
- nbPages
32+
- hitsPerPage
33+
34+
searchHits:
35+
type: object
36+
additionalProperties: true
37+
properties:
38+
hits:
39+
type: array
40+
description: |
41+
Search results (hits).
42+
43+
Hits are records from your index that match the search criteria, augmented with additional attributes, such as, for highlighting.
44+
items:
45+
$ref: 'Hit.yml#/hit'
46+
query:
47+
type: string
48+
description: The search query string.
49+
example: shoes
50+
params:
51+
type: string
52+
description: URL-encoded string of all search parameters.
53+
example: query=a&hitsPerPage=20
54+
required:
55+
- hits
56+
- query
57+
- params
58+
59+
resultsCompositionsResponse:
60+
type: object
61+
additionalProperties: true
62+
properties:
63+
compositions:
64+
title: resultsCompositionsInfoResponse
65+
type: object
66+
additionalProperties:
67+
title: resultsCompositionInfoResponse
68+
x-additionalPropertiesName: composition-id
69+
type: object
70+
properties:
71+
injectedItems:
72+
type: array
73+
items:
74+
$ref: '#/resultsInjectedItemInfoResponse'
75+
required:
76+
- injectedItems
77+
required:
78+
- compositions
79+
80+
resultsInjectedItemInfoResponse:
81+
type: object
82+
additionalProperties: true
83+
properties:
84+
key:
85+
type: string
86+
appliedRules:
87+
type: array
88+
items:
89+
title: resultsInjectedItemAppliedRulesInfoResponse
90+
type: object
91+
properties:
92+
objectID:
93+
$ref: '../../../../../common/parameters.yml#/objectID'
94+
required:
95+
- objectID
96+
required:
97+
- key

0 commit comments

Comments
 (0)