Since we're using Soundminer as our database software, we tend to spread the data you listed above into other fields than just the Description. I've also tried to weed out any unnecessary information that won't be used in the quick searches we perform when looking for sounds. The metadata I include is typically:
Category - The most basic description of a sound effect (your Broad Definition), ex. Impact, Whoosh, Ambience, Sting, Walla, etc.
Subject - A layer of detail further than Category. Usually whatever the sound is made by, ex. Rock, Wood, Crowd, etc.
Subject Detail - A one-word descriptor of the subject, ex. Large, Small, Slow, Fast. Sometimes this is not necessary.
Description - A long-form description of the details of the sound file.
Source - I use this field for the recordist or the company supplying the sounds I'm tagging.
Location - Self-explanatory. I try to limit this to city, state, and/or country. Further specifics, like street names, would fit into the Description. I don't include GPS coordinates or anything like that because no one searches our database using terms that specific.
Library - The package of sounds in which an effect belongs. If it's something I recorded for Universal, I typically just but "Universal - [Category]" in this field so that all of Universal's sounds will sort into the right order if I'm searching by Library.
Mic - Again, self-explanatory. I put the manufacturer and model(s) in here. Any mic configuration (M/S, ORTF, etc) would go in the Description field.
Date - This is a standard parameter of the Broadcast WAV format, so I don't have to change it or anything, but I verify that it's there for every file just in case I need to refer back to it later. Not used for searching.
That's all just for metadata fields. As far as file names are concerned, what seems to work best here is this convention:
[Category][Subject][Subject Detail][Description][Location][Mic][Number].wav
My colleague Steve Estrada (who's somewhere around the forum, perhaps he might have something to add) and I did some recording out in the desert a little while back, so our file names looked like this:
Impact_Rock_Large_LightDebris_JoshuaTree_MKH416_1.wav
Parts of the name are abbreviated to save space while still getting the point across (ie Large is changed to Lrg, Joshua Tree is changed to JshTr, etc). The breakdown is as follows:
[Impact][Rock][Large][Light Debris][Joshua Tree][Sennheiser MKH416][1]_.wav
This way, if I were to sort by filename, all of the Impact sounds would sort together. There'd be a Rock section all separated out into Small, Medium, and Large subcategories, and we'd be able to easily pick out which sound sets we recognize. Also, we use multiple mics when we record. Each is recording from a different perspective, so we'd likely have a set of sounds that looked like this:
**
Impact_Rock_Large_LightDebris_JoshuaTree_MKH416_1.wav
Impact_Rock_Large_LightDebris_JoshuaTree_RSM191_1.wav
Impact_Rock_Large_LightDebris_JoshuaTree_MKH416_2.wav
Impact_Rock_Large_LightDebris_JoshuaTree_RSM191_2.wav
**
This way, every angle of each sound effect sorts together. Also, when an editor spots one of these sounds into a session, they don't have to read through irrelevant information to get to what they need to know (in this case, they're working with an Impact sound made with Large Rocks, and it has Light Debris). The rest of the info is just there to make everything sort properly when editors are searching for sound effects.
Does that make sense so far? At least to some extent? If you have any other questions about how or why I do things one way vs. another, please don't hesitate to ask!