Een benadering is om te kijken naar de Levenshtein-afstand tussen de zoekterm en de trefwoordenlijst. Er zijn een paar voorbeelden van hoe dit te implementeren in MySQL, bijv. HIER
Omdat je zo'n grote catalogus hebt, moet je eerst kijken naar het implementeren van een filter (misschien op basis van een 'LIKE'-zoekopdracht), zodat je niet de afstand meet voor alle rijen van 1 miljoen.
Als u resultaten rangschikt op afstand, zou u de resultaten moeten kunnen sorteren op relevantie voor de zoekopdracht.