Regardless of the setting for number of results per page, I'm getting all results returned. This becomes a problem with categories which have hundreds or thousands of results, and the page sometimes never loads.
You can see here, 1 results per page selected but 21 results returned:
I have configured the defaults in the admin console, and I've also tried to configure it in local.xml but the settings don't seem to be honoured, I'm always getting all results returned.
It also doesn't matter whether I use Magento's built in database search, Solr, or ElasticSearch, the same problem exits which suggests to me that something before it gets as far as asking for results is failing to paginate.
I am having a similar problem. Search bar returns all items regradless of the search word input. Advanced search works fine, but it is at the bottom of the screen, so no one sees it. How can I replace the general search bar with the advanced? General search is pretty useless.
We eventually figured out this was caused by an extension we had installed. Since it was a paid-for extentsion, we asked their tech support to fix the problem.
As for your low quality search results, have a look at elasticsearch. QBox has a decent plugin for it, and it works through magento's indexing management interface. The quality of search results is much better.