There are some places where relational searches aren't good at all, specially where looking against large text sets (forums, glossaries...).
To fix this we must use documental (fulltext) indexes. They allow to perform "instant" searches against text.
So, For 1.9 something like this must be done:
1- Analyze and document each RDBMS documental index support.
2- Implement creation and drop of documental indexes from XMLDB generators (XMLDB schema, XML files and, finally, generators)
3- Extend XMLDB tests to check this functionality (creation, searching and drop).
4- Make text_index_exists() to work when looking for this type of indexes.
5- Add support for doc. indexes within the XMLDB Editor (parser, editor...)
6- Modify searchlib (search_generate_text_SQL() function) to be able to generate the correct SQL statements under each RDBMS.
7- Create a bunch of settings ($CFG->forum_usetextsearches....) to tell Moodle where to perform documental searches, code should be able to determinate when the underlying index exists.
8- Modify cron by calling one database_cron() function to be able to perform indexes maintenance (sync, optimisation...).
That's all, for now.
For Moodle 1.8 a basic documental indexes functionality has been implemented to work exclusively under MySQL and forum searches. It requires manual creation of the index before enabling it. Look to forum_search_posts() for some more basic info.