With only two more days of work to go, we're on schedule. I'm glad to say that everything is working well above my expectations from 6 weeks ago. In 6 weeks the team was able to implement a ranking system, an indexing system, and triple the number of pages in the database, along with significantly altering the automatic classification system to our customized requirements.
In addition to these improvements, Raj and I worked on speeding up the search in a few different ways. We cut down on the time taken to retrieve objects from the database, and we also made the search object global to the session. This means that instead of having to create a new search object and query the database every time you enter a new search, you can just reuse the same object that's already in memory (this is all purty much just a rigged version of a cache). This results in an enormous savings in query time.
I think we're down from about 45 seconds to search 600,000 objects to 1/3 of that with 3 times as many pages. In addition, after the first search is completed, putting the search objects and relevent data in memory consequent searches take between 1 and 3 seconds from query to second page display. This is amazing for only 6 weeks.
I've only got a few things left to do to get the system up and running for the presentation in the first week or so of September. So, I guess I better get back to work.