Uitleg: Typo tolerantie Instant Search
Voordat we documenten sorteren, gebruiken we typo-regels om documenten samen te voegen die woorden bevatten die lijken op de woorden die we zoeken.
Instant Search maakt gebruik van een speciaal soort algoritme, het 'prefix Levenshtein algoritme', om te controleren of woorden overeenkomen. Dit algoritme accepteert woorden die beginnen met of even lang zijn als de gezochte woorden.
Dit algoritme kijkt naar de kleinste veranderingen die nodig zijn om een woord in een ander woord te veranderen, zoals:
- Het vervangen van een letter door een andere letter (bijv. kitten → sitten)
- Het toevoegen van een letter (bijv. sitten → zitten)
- Het verwijderen van een letter (bijv. zaterdag → zatedag)
Er zijn regels die bepalen wat als "gelijksoortig" (of typo) kan worden beschouwd. Deze regels gelden per woord:
- Als het zoekwoord 1 tot 4 tekens lang is, zijn typefouten niet toegestaan.
- Als het zoekwoord 5 tot 8 tekens lang is, is één typefout toegestaan.
- Als het zoekwoord meer dan 8 tekens lang is, zijn maximaal twee typefouten toegestaan.
Bijvoorbeeld, voor het woord "zaterdag" (7 tekens lang) worden documenten met één typefout geaccepteerd:
- "zaterdag" wordt geaccepteerd omdat het hetzelfde woord is.
- "zat" wordt niet geaccepteerd omdat het geen voorvoegsel is van het zoekwoord.
- "zatedag" wordt geaccepteerd omdat het één typefout bevat.
- "zatudag" wordt niet geaccepteerd omdat het twee typefouten bevat.