One thing I found with Magento's default search is that it could be a bit smarter in "weighting important fields"
For us we found that a lot of our search queries included brand names. E.g. 'nike running shoes'.
We also found that a lot of search phrases somehow correlated to categories we'd setup. E.g. 'running shoes'
What I did was wrote a chunk of code that will extract brand names and categories from the search query and use those as filters on the product id's that Fulltext.php saves into the results table.
You want to move the above noted php file from
/app/oode/core/Mage/CatalogSearch/Model/Resource/Fulltext.php
to
/app/code/local/Mage/CatalogSearch/Model/Resource/Fulltext.php
What I've done is put my code adjustment at:
https://gist.github.com/jaseclamp/10083937
In our situation just this little bit of code greatly increased the accuracy of our search results. The code above also did not seem to conflict with anything Magento was doing in terms of synonmys and redirects, etc. Also the following page would say "Search results for 'original search phrase'" even though we'd modified the search phrase during the actual MySQL query to make it more effective. It added a few microseconds to the processing of the search however once the result was cached subsequent searches would be fast.
If you want to see how my code adjusts the MySQL used to insert the search results into the results table just put:
echo "<pre>"; print_r($sql); die;
Before the "$adapter->query" at the end of the function.