Indexing contents is an expensive task and even dangerous in big moodle sites, we should refine the performance as much as we can. This can be considered a blocker.
- Tune permission checkings
- Use get_fast_modinfo()
- Indexing database fields
- Specific configuration to run search/cron.php (http://docs.moodle.org/dev/Task_API) to avoid blocking other cron tasks.