Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .code-samples.meilisearch.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -398,6 +398,10 @@ typo_tolerance_guide_4: |-
twoTypos: 10
}
})
typo_tolerance_guide_5: |-
client.index('movies').updateTypoTolerance({
disableOnNumbers: true
})
add_movies_json_1: |-
const movies = require('./movies.json')
client.index('movies').addDocuments(movies).then((res) => console.log(res))
Expand Down
1 change: 1 addition & 0 deletions src/types/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -523,6 +523,7 @@ export type Synonyms = Record<string, string[]> | null;
export type TypoTolerance = {
enabled?: boolean | null;
disableOnAttributes?: string[] | null;
disableOnNumbers?: boolean | null;
disableOnWords?: string[] | null;
minWordSizeForTypos?: {
oneTypo?: number | null;
Expand Down
26 changes: 26 additions & 0 deletions tests/__snapshots__/settings.test.ts.snap
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ exports[`Test on settings > Admin key: Get default settings of an index 1`] = `
"synonyms": {},
"typoTolerance": {
"disableOnAttributes": [],
"disableOnNumbers": false,
"disableOnWords": [],
"enabled": true,
"minWordSizeForTypos": {
Expand Down Expand Up @@ -92,6 +93,7 @@ exports[`Test on settings > Admin key: Get default settings of empty index with
"synonyms": {},
"typoTolerance": {
"disableOnAttributes": [],
"disableOnNumbers": false,
"disableOnWords": [],
"enabled": true,
"minWordSizeForTypos": {
Expand Down Expand Up @@ -143,6 +145,7 @@ exports[`Test on settings > Admin key: Reset embedders settings 1`] = `
"synonyms": {},
"typoTolerance": {
"disableOnAttributes": [],
"disableOnNumbers": false,
"disableOnWords": [],
"enabled": true,
"minWordSizeForTypos": {
Expand Down Expand Up @@ -194,6 +197,7 @@ exports[`Test on settings > Admin key: Reset settings 1`] = `
"synonyms": {},
"typoTolerance": {
"disableOnAttributes": [],
"disableOnNumbers": false,
"disableOnWords": [],
"enabled": true,
"minWordSizeForTypos": {
Expand Down Expand Up @@ -245,6 +249,7 @@ exports[`Test on settings > Admin key: Reset settings of empty index 1`] = `
"synonyms": {},
"typoTolerance": {
"disableOnAttributes": [],
"disableOnNumbers": false,
"disableOnWords": [],
"enabled": true,
"minWordSizeForTypos": {
Expand Down Expand Up @@ -305,6 +310,7 @@ exports[`Test on settings > Admin key: Update embedders settings 1`] = `
"synonyms": {},
"typoTolerance": {
"disableOnAttributes": [],
"disableOnNumbers": false,
"disableOnWords": [],
"enabled": true,
"minWordSizeForTypos": {
Expand Down Expand Up @@ -356,6 +362,7 @@ exports[`Test on settings > Admin key: Update facetSearch settings on empty inde
"synonyms": {},
"typoTolerance": {
"disableOnAttributes": [],
"disableOnNumbers": false,
"disableOnWords": [],
"enabled": true,
"minWordSizeForTypos": {
Expand Down Expand Up @@ -407,6 +414,7 @@ exports[`Test on settings > Admin key: Update prefixSearch settings on an empty
"synonyms": {},
"typoTolerance": {
"disableOnAttributes": [],
"disableOnNumbers": false,
"disableOnWords": [],
"enabled": true,
"minWordSizeForTypos": {
Expand Down Expand Up @@ -458,6 +466,7 @@ exports[`Test on settings > Admin key: Update searchableAttributes settings on e
"synonyms": {},
"typoTolerance": {
"disableOnAttributes": [],
"disableOnNumbers": false,
"disableOnWords": [],
"enabled": true,
"minWordSizeForTypos": {
Expand Down Expand Up @@ -509,6 +518,7 @@ exports[`Test on settings > Admin key: Update searchableAttributes settings on e
"synonyms": {},
"typoTolerance": {
"disableOnAttributes": [],
"disableOnNumbers": false,
"disableOnWords": [],
"enabled": true,
"minWordSizeForTypos": {
Expand Down Expand Up @@ -579,6 +589,7 @@ exports[`Test on settings > Admin key: Update settings 1`] = `
"disableOnAttributes": [
"comment",
],
"disableOnNumbers": false,
"disableOnWords": [
"prince",
],
Expand Down Expand Up @@ -630,6 +641,7 @@ exports[`Test on settings > Admin key: Update settings on empty index with prima
"synonyms": {},
"typoTolerance": {
"disableOnAttributes": [],
"disableOnNumbers": false,
"disableOnWords": [],
"enabled": true,
"minWordSizeForTypos": {
Expand Down Expand Up @@ -681,6 +693,7 @@ exports[`Test on settings > Admin key: Update settings with all null values 1`]
"synonyms": {},
"typoTolerance": {
"disableOnAttributes": [],
"disableOnNumbers": false,
"disableOnWords": [],
"enabled": true,
"minWordSizeForTypos": {
Expand Down Expand Up @@ -732,6 +745,7 @@ exports[`Test on settings > Master key: Get default settings of an index 1`] = `
"synonyms": {},
"typoTolerance": {
"disableOnAttributes": [],
"disableOnNumbers": false,
"disableOnWords": [],
"enabled": true,
"minWordSizeForTypos": {
Expand Down Expand Up @@ -783,6 +797,7 @@ exports[`Test on settings > Master key: Get default settings of empty index with
"synonyms": {},
"typoTolerance": {
"disableOnAttributes": [],
"disableOnNumbers": false,
"disableOnWords": [],
"enabled": true,
"minWordSizeForTypos": {
Expand Down Expand Up @@ -834,6 +849,7 @@ exports[`Test on settings > Master key: Reset embedders settings 1`] = `
"synonyms": {},
"typoTolerance": {
"disableOnAttributes": [],
"disableOnNumbers": false,
"disableOnWords": [],
"enabled": true,
"minWordSizeForTypos": {
Expand Down Expand Up @@ -885,6 +901,7 @@ exports[`Test on settings > Master key: Reset settings 1`] = `
"synonyms": {},
"typoTolerance": {
"disableOnAttributes": [],
"disableOnNumbers": false,
"disableOnWords": [],
"enabled": true,
"minWordSizeForTypos": {
Expand Down Expand Up @@ -936,6 +953,7 @@ exports[`Test on settings > Master key: Reset settings of empty index 1`] = `
"synonyms": {},
"typoTolerance": {
"disableOnAttributes": [],
"disableOnNumbers": false,
"disableOnWords": [],
"enabled": true,
"minWordSizeForTypos": {
Expand Down Expand Up @@ -996,6 +1014,7 @@ exports[`Test on settings > Master key: Update embedders settings 1`] = `
"synonyms": {},
"typoTolerance": {
"disableOnAttributes": [],
"disableOnNumbers": false,
"disableOnWords": [],
"enabled": true,
"minWordSizeForTypos": {
Expand Down Expand Up @@ -1047,6 +1066,7 @@ exports[`Test on settings > Master key: Update facetSearch settings on empty ind
"synonyms": {},
"typoTolerance": {
"disableOnAttributes": [],
"disableOnNumbers": false,
"disableOnWords": [],
"enabled": true,
"minWordSizeForTypos": {
Expand Down Expand Up @@ -1098,6 +1118,7 @@ exports[`Test on settings > Master key: Update prefixSearch settings on an empty
"synonyms": {},
"typoTolerance": {
"disableOnAttributes": [],
"disableOnNumbers": false,
"disableOnWords": [],
"enabled": true,
"minWordSizeForTypos": {
Expand Down Expand Up @@ -1149,6 +1170,7 @@ exports[`Test on settings > Master key: Update searchableAttributes settings on
"synonyms": {},
"typoTolerance": {
"disableOnAttributes": [],
"disableOnNumbers": false,
"disableOnWords": [],
"enabled": true,
"minWordSizeForTypos": {
Expand Down Expand Up @@ -1200,6 +1222,7 @@ exports[`Test on settings > Master key: Update searchableAttributes settings on
"synonyms": {},
"typoTolerance": {
"disableOnAttributes": [],
"disableOnNumbers": false,
"disableOnWords": [],
"enabled": true,
"minWordSizeForTypos": {
Expand Down Expand Up @@ -1270,6 +1293,7 @@ exports[`Test on settings > Master key: Update settings 1`] = `
"disableOnAttributes": [
"comment",
],
"disableOnNumbers": false,
"disableOnWords": [
"prince",
],
Expand Down Expand Up @@ -1321,6 +1345,7 @@ exports[`Test on settings > Master key: Update settings on empty index with prim
"synonyms": {},
"typoTolerance": {
"disableOnAttributes": [],
"disableOnNumbers": false,
"disableOnWords": [],
"enabled": true,
"minWordSizeForTypos": {
Expand Down Expand Up @@ -1372,6 +1397,7 @@ exports[`Test on settings > Master key: Update settings with all null values 1`]
"synonyms": {},
"typoTolerance": {
"disableOnAttributes": [],
"disableOnNumbers": false,
"disableOnWords": [],
"enabled": true,
"minWordSizeForTypos": {
Expand Down
79 changes: 79 additions & 0 deletions tests/__snapshots__/typo_tolerance.test.ts.snap
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html

exports[`Tests on typo tolerance > Admin key: Get default typo tolerance settings 1`] = `
{
"disableOnAttributes": [],
"disableOnNumbers": false,
"disableOnWords": [],
"enabled": true,
"minWordSizeForTypos": {
"oneTypo": 5,
"twoTypos": 9,
},
}
`;

exports[`Tests on typo tolerance > Admin key: Reset typo tolerance settings 1`] = `
{
"disableOnAttributes": [],
"disableOnNumbers": false,
"disableOnWords": [],
"enabled": true,
"minWordSizeForTypos": {
"oneTypo": 5,
"twoTypos": 9,
},
}
`;

exports[`Tests on typo tolerance > Admin key: Update typo tolerance using null as value 1`] = `
{
"disableOnAttributes": [],
"disableOnNumbers": false,
"disableOnWords": [],
"enabled": true,
"minWordSizeForTypos": {
"oneTypo": 5,
"twoTypos": 9,
},
}
`;

exports[`Tests on typo tolerance > Master key: Get default typo tolerance settings 1`] = `
{
"disableOnAttributes": [],
"disableOnNumbers": false,
"disableOnWords": [],
"enabled": true,
"minWordSizeForTypos": {
"oneTypo": 5,
"twoTypos": 9,
},
}
`;

exports[`Tests on typo tolerance > Master key: Reset typo tolerance settings 1`] = `
{
"disableOnAttributes": [],
"disableOnNumbers": false,
"disableOnWords": [],
"enabled": true,
"minWordSizeForTypos": {
"oneTypo": 5,
"twoTypos": 9,
},
}
`;

exports[`Tests on typo tolerance > Master key: Update typo tolerance using null as value 1`] = `
{
"disableOnAttributes": [],
"disableOnNumbers": false,
"disableOnWords": [],
"enabled": true,
"minWordSizeForTypos": {
"oneTypo": 5,
"twoTypos": 9,
},
}
`;
18 changes: 4 additions & 14 deletions tests/typo_tolerance.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,16 +13,6 @@ const index = {
uid: "movies_test",
};

const defaultTypoTolerance = {
enabled: true,
minWordSizeForTypos: {
oneTypo: 5,
twoTypos: 9,
},
disableOnWords: [],
disableOnAttributes: [],
};

afterAll(() => {
return clearAllIndexes(config);
});
Expand All @@ -39,7 +29,7 @@ describe.each([{ permission: "Master" }, { permission: "Admin" }])(
test(`${permission} key: Get default typo tolerance settings`, async () => {
const client = await getClient(permission);
const response = await client.index(index.uid).getTypoTolerance();
expect(response).toEqual(defaultTypoTolerance);
expect(response).toMatchSnapshot();
});

test(`${permission} key: Update typo tolerance settings`, async () => {
Expand All @@ -52,14 +42,14 @@ describe.each([{ permission: "Master" }, { permission: "Admin" }])(
},
disableOnWords: ["title"],
disableOnAttributes: ["hello"],
disableOnNumbers: true,
};
await client
.index(index.uid)
.updateTypoTolerance(newTypoTolerance)
.waitTask();

const response = await client.index(index.uid).getTypoTolerance();

expect(response).toEqual(newTypoTolerance);
});

Expand All @@ -69,7 +59,7 @@ describe.each([{ permission: "Master" }, { permission: "Admin" }])(

const response = await client.index(index.uid).getTypoTolerance();

expect(response).toEqual(defaultTypoTolerance);
expect(response).toMatchSnapshot();
});

test(`${permission} key: Reset typo tolerance settings`, async () => {
Expand All @@ -78,7 +68,7 @@ describe.each([{ permission: "Master" }, { permission: "Admin" }])(

const response = await client.index(index.uid).getTypoTolerance();

expect(response).toEqual(defaultTypoTolerance);
expect(response).toMatchSnapshot();
});
},
);
Expand Down