Den nya InnoDB fulltextsökfunktionen i MySQL 5.6 hjälper i det här fallet. Jag använder följande fråga:
SELECT MATCH(column) AGAINST('(word1* word2*) ("word1 word1")' IN BOOLEAN MODE) score, id, column
FROM table
having score>0
ORDER BY score
DESC limit 10;
där ( )
grupperar ord i ett underuttryck. Den första gruppen har like word%
menande; den andra letar efter exakt fras. Poängen returneras som flytande.