Monday, May 4, 2009

Web 2.0: Implementing tags?

The trend in Web 2.0 sites is to support user generated (assigned) tags (Amazon, Flickr). Is there a recommended approach (algorithm) or a software application or a best practice document to quickly implement a tagging solution that is scalable (performance-wise)?


Thanks.

Web 2.0: Implementing tags?
My recommendation is to use a SQL table:





tblTag


int objectID - primary key


varchar(30) tag - primary key


int weight





This way, tags are stored as few times as necessary - if a person tags and the tag already exists for the given object, then increment its weight - otherwise append the tag. This should take care of performance (additional performance gains by caching the tag groupings by object).





The tagging score cutoff is going to be different for every site. It really depends on how many tags you want to display, and how you want to display them. In a tag cloud, you can simply set a minimum cutoff or use more sophisticated ranking logic to balance between number of tags and weight. (i.e. start with the most weighted object and keep listing until you hit the maximum number of tags or the minimum weight)


No comments:

Post a Comment