At least I see no errors, but the HAVING clause is what I think is the cause of the problem here (and maybe the number of keywords as well).
The term exclusion unfortunately has to do a left join, which breaks the indexing (wordpress is built this way).
I'm working on 2 plugin updates right now, one is Ajax Search pro and one is Related Posts pro. I'm completely re-working this query structure to a much more optimized one based off of ajax search pro. I'm probably finishing ajax search pro today, it's under final testing, then I'm continuing with related posts pro.
Right now, there is not much I can do, as not an error is causing the problem but the query structure. I'm going to inform you as soon as I get an optimization ready on this plugin and upload a pre-release version for further testing.
After the planned optimizations the query execution time should be reduced greatly. Once the queries are fully optimized we can see how it's working and if any further configuration tweaks are needed.Best,
If you like my products, don't forget to rate them on codecanyon :)