Om du använder MyISAM kan du använda fulltextindexering. Se den här handledningen
Om du använder en annan lagringsmotor kan du använda en tredje parts fulltextmotor som sfinx, som kan fungera som en lagringsmotor för mysql eller en separat server som kan frågas.
Med MySQL fulltextindexering en sökning på A J Kelly
skulle matcha AJ Kelly
(nej för att blanda ihop saker men A, J och AJ skulle ignoreras eftersom de är för korta som standard och det skulle matcha på Kelly.) Generellt är Fulltext mycket mer förlåtande (och vanligtvis snabbare än LIKE '%string%') eftersom det tillåter partiell matcher som sedan kan rangordnas efter relevans.
Du kan också använda SOUNDEX
för att göra sökningar mer förlåtande genom att indexera de fonetiska motsvarigheterna till ord och söka efter dem genom att använda SOUNDEX på dina söktermer och sedan använda dem för att söka i indexet. Med soundex mary
, marie
och marry
kommer alla att matcha, till exempel.