„Czy miałeś na myśli” Google jest całkiem interesujące:Jak Google „Czy chodziło Ci o?” Działa algorytm?
W przeszłości udało mi się zaimplementować coś podobnego za pomocą SOUNDEX które mogą zbliżyć się do tej funkcjonalności.
Martin, Martyn i Martine dają te same dane wyjściowe z SOUNDEX
.
Możesz uwzględnić wszystkie wyniki z SOUNDEX
dopasowania lub wybierz żądane wyniki, a następnie select distinct name from table where SOUNDEX(name) = SOUNDEX(search_var)
jako twoje „sugestie”.
W ramach optymalizacji można wstępnie obliczyć SOUNDEX w polach wyszukiwania i zachować je jako indeksowaną kolumnę, aby uniknąć skanowania tabel.
Nie jest tak wyrafinowany, jak Google Did You Mean, ale możesz bardzo szybko zbliżyć się do niego.