I've always noticed that if I do an unqualified search for say "quantitative" then it takes a few minutes with a lot of disk I/O, but it seems to be a one time delay. If after that I do another search for say "subprime" its back in a flash with very little disk I/O.
Tomorrow the first search will be 'slow', so I'm guessing that SQLLite builds a temporary index for unqualified searches - i.e. when its not searching via Tag Browser items (author, publisher etc) only.
My unqualified search terms are usually in the summary metadata and titles, I don't bother much with Keyword Tags - whats in the summary is usually good enough for me. Beyond that I use Windows Search.
I have a library of 3500 documents - not many books as such, mainly research papers from governments, academe, consultants, ngo's etc.