I reckon using some DAM software (thats DAM not DAMN) - ie Digital Asset Management software is a given. Aperuture/ Lightroom/Bridge are all designed for this. When you import your photos as well has having a good directory structure, also tag them with relevant tags

ie,

Flowers, botanical gardens, Lillies
Sunset, tasmania, derwent river, water, sea, rocks, slow shutter

How much tagging you do is up to you, but the more accurate, the easier it is to search. Nothing better than putting into your DAM software a search for tulip, red, bee..and it finding your red tulip photo with the bee on it for you, rather than hunt through several folders that it might be in