1. A method for improving searches of tagged entities based upon usage patterns comprising: detecting a tagging event where a software entity is associated with a tag responsive to a user interaction; automatically determining at least one situational attribute relating to the tagging event; storing the at least one situational attribute in a data repository so that the stored situational attribute is associated with the tag; repeating the detecting, determining, and storing for a plurality of different tags, each associated with a software entity; and conducting a search of tagged software entities, wherein the search results are modified based at least in part upon the stored situational attributes of the tagged software entities.