The search feature has been slow lately, which had me thinking about this.
The majority of searches conducted on the board, I’m guessing, are looking for the most recent threads. And yet, as it’s currently set up, by default, it’ll search the entire SDMB database.
For example, I’ll frequently search by posts made by me to keep up with threads I’m involved in. If I remember, I’ll change the “find posts from” dropdown to be from the last month. But often I forget, and just hit search. And so it searches years of history, up to 750 results before it stops - when really I was only interested enough in the last week or so. And so my search used far more CPU power and did more work than was necesary.
As a user, I can fix that by specifying my “find posts from” time, and I do sometimes, but I’m sure there are a lot of people who either don’t bother to do that, or like me, don’t remember to do that, and hence probably the vast majority of the CPU time associated with board searching is being used to find results that people aren’t actually using. Most people probably don’t use any search results past the first page, even though the system won’t stop until it hits 30 pages of results (or finishes searching the entire post database).
So, my suggestion is this: change the default “find post dates” to some more limited value than “any date”. I’m not sure if a month, or 3 months, or what, is ideal. This will take care of the majority of searches without wasting a lot of CPU time, therefore speeding up searches for everyone.
Users will still have the ability to search all posts throughout SDMB history - they’ll just have to change the “find post date” dropdown from its default back to “all posts” - this way, the people who still want to make use of the long, thorough searches still can. Essentially they’ll have to manually opt in for a more cpu-intensive search, rather than the current system of simply not opting out of it. The process of a long search will be deliberate, rather than oblivious.