You may also want to look at the "locate" command.
It searches a database instead of your harddrive.
Basically, you use the "updatedb" command to make the database of your harddrive.
Then you do a "locate [file/keyword]" and it will spit out where that file is or files w/ that keyword Instantly (because its searching a small database instead of the harddrive).
The downside is that you will only find files thats as up-to-date as the database, but you can update it any time you want.
This is one thing that makes linux great. I mean, its nice being able to search a whole harddrive instantly.
"man locate" , "man updatedb" for more info.