You develop your own database application or use a professional file system with customizeable attributes.
Then you end up cursing yourself because half the time you didn't fill in any of the entries that would actually help you find it again and you named it "funny comic cheetos"
This isn't exactly an answer, but ReNamer is a free tool that allows you to name batches of files. It's a pretty versatile tool that lets you do multiple things to the filename of different media types.
Well I'm mostly joking but with a database you could have more than just keywords. You could tag them with any attributes (date, dominant colours, themes, size, etc etc).