locate vs Google Desktop

I'm writing an application in C++ that is basically a rip off of Google Desktop just to learn. I sat down to design it on paper last night and I don't want to reinvent the wheel where I don't have to. Instead of writing my own search utility I figured I'd just write a GUI for locate keeping the program small. After reading the man page for locate it seems to me that it only searches for file names, I want to index everything on the hard drive. This is where I find my problem, how do I do this without bogging down the hard drive? I have a few ideas but they basically mimic how the zip/tar process works and I'm not trying to make a copy of the same data on the disk. I wasn't going to bother putting it on here but I thought it might make for some fun debate regarding indexing.
 
Do some reading on the KDE4 technologies Strigi and Nepomuk. They're C++/QT implementations of desktop search and semantic access to data.
 
Back
Top