Fuzzy Search Support

Gedetailleerde uitleg van Fuzzy Search

De Autosuggestie API bevat een optionele 'fuzzy' parameter, een Booleaanse waarde, in zijn GET-verzoek. Deze parameter maakt de implementatie van fuzzy search mogelijk als deze is ingesteld op 'true', 'yes' of 1. Fuzzy search vergemakkelijkt de ontdekking van geschatte overeenkomsten op basis van de Levenshtein-bewerkingsafstand. In wezen geeft de Levenshtein-afstand het aantal invoegingen, verwijderingen, vervangingen en transposities aan dat nodig is om twee strings gelijk te maken. De Levenshtein-afstand tussen "ax" en "axe" is bijvoorbeeld 1, wat een enkele verwijderingsnoodzaak weerspiegelt.

Als er geen fuzzy-zoekopdracht is, zou een zoekopdracht als 'amster' met behulp van de Auto-suggest API overeenkomsten als Amsterdam retourneren - omdat het standaard zoekzinalgoritme in het spel is. Maar als fuzzy search aanstaat, krijg je reacties als 'Amstel'. Dit komt doordat 'Amstel', vergeleken met Amsterdam, minder aanpassingen nodig heeft om bij 'amster' te passen. Concreet vereist 'Amstel' alleen het vervangen van 'l' door 'r', terwijl voor Amsterdam drie tekens moeten worden verwijderd. Daarom scoort 'Amstel' bij fuzzy zoeken hoger dan 'Amsterdam', aangezien er minder wijzigingen nodig zijn om aan de zoekopdracht 'amster' te voldoen.

Last updated