sql >> Base de Datos >  >> RDS >> Mysql

Sugerir otras consultas para ortografías arcaicas (por ejemplo, Quiso decir de Google)

El "quiso decir" de Google es bastante interesante:¿Cómo funciona el "¿Quiso decir?" de Google? ¿Funciona el algoritmo?

En el pasado, logré implementar algo similar con SOUNDEX que puede aproximarse a esa funcionalidad.

Martin, Martyn y Martine producen la misma salida de SOUNDEX .

Podrías incluir todos los resultados del SOUNDEX coincidencia, o seleccione los resultados que pidieron y luego select distinct name from table where SOUNDEX(name) = SOUNDEX(search_var) como sus 'sugerencias'.

Como optimización, puede precalcular SOUNDEX en los campos de búsqueda y conservarlo como una columna indexada para evitar escaneos de tablas.

No es tan sofisticado como Quizá quisiste decir de Google, pero puedes acercarte bastante rápido.