Google's "bedoelde je" is behoorlijk interessant:Hoe gebruikt de Google "Bedoelde u?" Algoritme werkt?
In het verleden heb ik iets soortgelijks kunnen implementeren met SOUNDEX die die functionaliteit kan benaderen.
Martin, Martyn en Martine leveren dezelfde output van SOUNDEX
.
U kunt alle resultaten van de SOUNDEX
. opnemen match, of selecteer de resultaten waar ze om vroegen en select distinct name from table where SOUNDEX(name) = SOUNDEX(search_var)
als uw 'suggesties'.
Als optimalisatie kunt u SOUNDEX vooraf berekenen op zoekvelden en dat als een geïndexeerde kolom aanhouden om tabelscans te voorkomen.
Het is niet zo geavanceerd als Did You Mean van Google, maar je kunt heel snel redelijk dichtbij komen.