Se você estiver usando o MyISAM, poderá usar a indexação de texto completo. Veja este tutorial
Se você estiver usando um mecanismo de armazenamento diferente, poderá usar um mecanismo de texto completo de terceiros, como sphinx, que pode atuar como um mecanismo de armazenamento para mysql ou um servidor separado que pode ser consultado.
Com a indexação de texto completo do MySQL, uma pesquisa em
A J Kelly
corresponderia a AJ Kelly
(não para confundir as coisas, mas A, J e AJ seriam ignorados, pois são muito curtos por padrão e combinariam com Kelly.) Geralmente o Fulltext é muito mais tolerante (e geralmente mais rápido que LIKE '%string%') porque permite parcial correspondências que podem ser classificadas por relevância. Você também pode usar SOUNDEX para tornar as pesquisas mais tolerantes ao indexar os equivalentes fonéticos das palavras e pesquisá-los aplicando SOUNDEX em seus termos de pesquisa e, em seguida, usando-os para pesquisar o índice. Com soundex
mary
, marie
, e marry
todos irão corresponder, por exemplo.