Det här är lite långt för en kommentar.
För den här typen av sökning kan du överväga ett fulltextindex. Dokumentationen finns här
. Dessa implementerar MATCH . . . AGAINST
funktionalitet.
Med sådan funktionalitet kan du sortera resultaten efter relevans. Det betyder att du inte behöver bestämma dig i förväg om kopplingen är "och" eller "eller" mellan flera ord. Du kan också implementera en boolesk sökning, vilket skulle möjliggöra mer komplex logik, om du så önskar.