|To start with you have to thoroughly understand the internal file formats of every application whose file you want to index. (How do you index a .jpeg? It's a picture!) That's going to be the tough part. The actual indexing is going to be fairly trivial; just read the files, extract the words (as I said, that's the tricky part) and then create the index. A B-tree is probably a good data structure for that.|
But there is a perfectly good indexing system already built into Windows (and other Operating Systems), so I do wonder whether it is worth going to all that effort to reinvent the wheel.