Si está usando MyISAM, puede usar la indexación de texto completo. Vea este tutorial
Si usa un motor de almacenamiento diferente, puede usar un motor de texto completo de terceros como sphinx, que puede actuar como un motor de almacenamiento para mysql o un servidor separado que se puede consultar.
Con MySQL texto completo indexando una búsqueda en A J Kelly
coincidiría con AJ Kelly
(no para confundir las cosas, pero A, J y AJ se ignorarían porque son demasiado cortos de forma predeterminada y coincidirían con Kelly). Generalmente, Fulltext es mucho más indulgente (y generalmente más rápido que LIKE '%string%') porque permite parcial coincidencias que luego se pueden clasificar según su relevancia.
También puede usar SOUNDEX
para hacer que las búsquedas sean más indulgentes al indexar los equivalentes fonéticos de las palabras y buscarlas aplicando SOUNDEX en sus términos de búsqueda y luego usándolos para buscar en el índice. Con soundex mary
, marie
y marry
todos coincidirán, por ejemplo.