diff --git a/generators/src/main/java/com/algolia/codegen/utils/OneOf.java b/generators/src/main/java/com/algolia/codegen/utils/OneOf.java index 2b61981d412..897fdb250e1 100644 --- a/generators/src/main/java/com/algolia/codegen/utils/OneOf.java +++ b/generators/src/main/java/com/algolia/codegen/utils/OneOf.java @@ -205,8 +205,12 @@ private static void sortOneOfs(List oneOfs) { List discriminatorsA = (List) propA.vendorExtensions.get("x-discriminator-fields"); List discriminatorsB = (List) propB.vendorExtensions.get("x-discriminator-fields"); return discriminatorsB.size() - discriminatorsA.size(); - } else { - return 0; + } else if (propA.isBoolean && !propB.isBoolean) { + // put boolean last, because of typoTolerance + return 1; + } else if (!propA.isBoolean && propB.isBoolean) { + return -1; } + return 0; }; } diff --git a/specs/common/schemas/IndexSettings.yml b/specs/common/schemas/IndexSettings.yml index aaaab366f89..5bd58247195 100644 --- a/specs/common/schemas/IndexSettings.yml +++ b/specs/common/schemas/IndexSettings.yml @@ -929,7 +929,7 @@ typoToleranceEnum: But if there are no matches without typos (with 1 typo), include matches with 1 typo (2 typos). - `strict`. Return matches with the two lowest numbers of typos. With `strict`, the Typo ranking criterion is applied first in the `ranking` setting. - enum: [min, strict] + enum: [min, strict, 'true', 'false'] ignorePlurals: description: | diff --git a/tests/CTS/requests/search/getSettings.json b/tests/CTS/requests/search/getSettings.json index 927e0cb7e7d..ca2ee8d8cc6 100644 --- a/tests/CTS/requests/search/getSettings.json +++ b/tests/CTS/requests/search/getSettings.json @@ -34,7 +34,8 @@ "alternativesAsExact": [ "ignorePlurals", "singleWordSynonym" - ] + ], + "typoTolerance": "false" } } } diff --git a/tests/CTS/requests/search/setSettings.json b/tests/CTS/requests/search/setSettings.json index 3c2f3799a48..0e76ba29efe 100644 --- a/tests/CTS/requests/search/setSettings.json +++ b/tests/CTS/requests/search/setSettings.json @@ -4,7 +4,8 @@ "parameters": { "indexName": "cts_e2e_settings", "indexSettings": { - "paginationLimitedTo": 10 + "paginationLimitedTo": 10, + "typoTolerance": "false" }, "forwardToReplicas": true }, @@ -12,7 +13,8 @@ "path": "/1/indexes/cts_e2e_settings/settings", "method": "PUT", "body": { - "paginationLimitedTo": 10 + "paginationLimitedTo": 10, + "typoTolerance": "false" }, "queryParameters": { "forwardToReplicas": "true"