Skip to content

Commit 8ad13aa

Browse files
committed
Add changeset
1 parent b9b9ee9 commit 8ad13aa

File tree

2 files changed

+136
-3
lines changed

2 files changed

+136
-3
lines changed

.changeset/odd-spies-invite.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@meilisearch/instant-meilisearch": patch
3+
---
4+
5+
Fix the initial facet distribution cache when performing a sort-by

packages/instant-meilisearch/__tests__/first-facets-distribution.test.ts

Lines changed: 131 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,10 @@ describe('Default facet distribution', () => {
55
beforeAll(async () => {
66
const deleteTask = await meilisearchClient.deleteIndex('movies')
77
await meilisearchClient.waitForTask(deleteTask.taskUid)
8-
await meilisearchClient
9-
.index('movies')
10-
.updateFilterableAttributes(['genres'])
8+
await meilisearchClient.index('movies').updateSettings({
9+
filterableAttributes: ['genres', 'release_date'],
10+
sortableAttributes: ['release_date'],
11+
})
1112
const documentsTask = await meilisearchClient
1213
.index('movies')
1314
.addDocuments(dataset)
@@ -100,6 +101,133 @@ describe('Default facet distribution', () => {
100101
})
101102
})
102103

104+
test('creation of facet distribution when using indexes with sort-by', async () => {
105+
const searchClient = instantMeiliSearch(HOST, API_KEY)
106+
const releaseDateDistribution = {
107+
release_date: {
108+
'1065744000': 1,
109+
'233366400': 1,
110+
'593395200': 1,
111+
'750643200': 1,
112+
'818467200': 1,
113+
'819676800': 1,
114+
},
115+
}
116+
const response = await searchClient.search([
117+
{
118+
indexName: 'movies',
119+
params: {
120+
facets: ['release_date'],
121+
query: '',
122+
},
123+
},
124+
{
125+
indexName: 'movies:release_date:asc',
126+
params: {
127+
facets: ['release_date'],
128+
query: '',
129+
},
130+
},
131+
{
132+
indexName: 'movies:release_date:desc',
133+
params: {
134+
facets: ['release_date'],
135+
query: '',
136+
},
137+
},
138+
])
139+
140+
expect(response.results[0].facets).toEqual(releaseDateDistribution)
141+
expect(response.results[1].facets).toEqual(releaseDateDistribution)
142+
expect(response.results[2].facets).toEqual(releaseDateDistribution)
143+
})
144+
145+
test('creation of facet distribution when using indexes with sort-by and keepZeroFacets', async () => {
146+
const searchClient = instantMeiliSearch(HOST, API_KEY, {
147+
keepZeroFacets: true,
148+
})
149+
const releaseDateDistribution = {
150+
release_date: {
151+
'1065744000': 1,
152+
'233366400': 1,
153+
'593395200': 1,
154+
'750643200': 1,
155+
'818467200': 1,
156+
'819676800': 1,
157+
},
158+
}
159+
const response = await searchClient.search([
160+
{
161+
indexName: 'movies',
162+
params: {
163+
facets: ['release_date'],
164+
query: '',
165+
},
166+
},
167+
{
168+
indexName: 'movies:release_date:asc',
169+
params: {
170+
facets: ['release_date'],
171+
query: '',
172+
},
173+
},
174+
{
175+
indexName: 'movies:release_date:desc',
176+
params: {
177+
facets: ['release_date'],
178+
query: '',
179+
},
180+
},
181+
])
182+
183+
expect(response.results[0].facets).toEqual(releaseDateDistribution)
184+
expect(response.results[1].facets).toEqual(releaseDateDistribution)
185+
expect(response.results[2].facets).toEqual(releaseDateDistribution)
186+
})
187+
188+
test('creation of facet distribution when using indexes with sort-by and no placeholdersearch', async () => {
189+
const searchClient = instantMeiliSearch(HOST, API_KEY, {
190+
placeholderSearch: false,
191+
})
192+
const releaseDateDistribution = {
193+
release_date: {
194+
'1065744000': 1,
195+
'233366400': 1,
196+
'593395200': 1,
197+
'750643200': 1,
198+
'818467200': 1,
199+
'819676800': 1,
200+
},
201+
}
202+
const response = await searchClient.search([
203+
{
204+
indexName: 'movies',
205+
params: {
206+
facets: ['release_date'],
207+
query: '',
208+
},
209+
},
210+
{
211+
indexName: 'movies:release_date:asc',
212+
params: {
213+
facets: ['release_date'],
214+
query: '',
215+
},
216+
},
217+
{
218+
indexName: 'movies:release_date:desc',
219+
params: {
220+
facets: ['release_date'],
221+
query: '',
222+
},
223+
},
224+
])
225+
226+
expect(response.results[0].facets).toEqual(releaseDateDistribution)
227+
expect(response.results[1].facets).toEqual(releaseDateDistribution)
228+
expect(response.results[2].facets).toEqual(releaseDateDistribution)
229+
})
230+
103231
// With facets
104232
// without keepZeroFacets
105233
// with placeholderSearch

0 commit comments

Comments
 (0)