můžete toho dosáhnout v jednom dotazu pomocí 'UNION ALL' v MySQL.
Jednoduše projděte tokeny v PHP a vytvořte UNION ALL pro každý token:
např. pokud jsou tokeny 'x', 'y' a 'z', může váš dotaz vypadat nějak takto
SELECT * FROM `entries`
WHERE token like "%x%" union all
SELECT * FROM `entries`
WHERE token like "%y%" union all
SELECT * FROM `entries`
WHERE token like "%z%" ORDER BY score ect...
Klauzule objednávky by měla fungovat s celou sadou výsledků jako jedna, což je to, co potřebujete.
Z hlediska výkonu to nebude až tak rychlé (hádám), nicméně u databází je hlavní režií z hlediska rychlosti často odeslání dotazu do databázového stroje z PHP a příjem výsledků. S touto technikou se to stane pouze jednou místo jednou na token, takže výkon se zvýší, jen nevím, jestli to bude stačit.