Recently, I've been getting periodic spikes in the CPU usage of the server - the upshot being that performance would be very slow during those spikes. I decided to take a look at what kinds of keyword searches people were doing against the site, and I figured out what was going on.
A keyword search looks first for a cache hit, and then, failing that, reads in all the blog posts and searches. That can be expensive. I intend to fix that expense, but until recently it hadn't been a problem. I just discovered why I was getting more slowdowns though - a ton of the searches are nothing more than stupid referral attempts, with hrefs embedded in the search. Stupid, because they can't possibly work. However, they were generating a lot of useless churning. I now have a really simple #isBogusSearchRequest check implemented - it looks like this:
^'*href*' match: self searchText
If that answers true, it's a bogus search, and just immediately answers no results. I swear, there's no end to the spy vs. spy nature of spam fighting...