W tym przypadku pomaga nowa funkcja wyszukiwania pełnotekstowego InnoDB w MySQL 5.6. Używam następującego zapytania:
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;
gdzie ( )
grupuje słowa w podwyrażenie. Pierwsza grupa ma like word%
oznaczający; drugi szuka dokładnej frazy. Wynik jest zwracany jako zmiennoprzecinkowy.