The only thing that comes to mind for small-scale use is FileMaker. It is a desktop database application that has some web interface features.
There is plenty of software around that can do this on a large scale, like millions of images, but I doubt that the cost is something your friend can afford.
Fundamentally, as dried_squid said, it's a database problem. Basically, you need to scan everything into a collection of directories, and make a database record for each image. In each record of the database, you store the path and name of the image file, and a collection of "meta-data" that would be the searchable information. Around that you have an application that can manage the searching and presentation of the image file.
FileMaker can do most of that, pretty much off-the-shelf, with little programming. MS Access might be able to, I'm not sure, but would need more programming. You could certainly do it with things like mysql, but with more programming.
It may be possible to do it with things like Adobe Bridge/Photoshop. A lot depends on what his requirements are for the searchable information. If he is just looking for mostly slide-show functionality, that may do it, though 45K would be a lot of images for something like that.