I see, that makes sense, but I think that you might be better off with a hybrid approach: build an index first, and do real-time search on all files that have been changed, and thus haven't been [re-]indexed yet. I'm not sure if any of the existing systems do that, but it's worth checking out. Of course, if your codebase is relatively small, performance won't be much of a problem...
This is the sixth bimonthly 'What are you working On?' thread. Previous threads are here. So here's the question:
What are you working on?
Here are some guidelines: