And if you do repeated runs for these queries they take 50 and 1 sec appropriately ?
repeated is important as first run could have been uncached and so very different.
You can use ether MySQL Full Text search (which is also slow but should work for your sizes), Sphinx search (http://www.sphinxsearch.com), lucene or other solutions.