Im building a content management system where the content will be quite large and of various types.. eg links, articles, blogs, q&a, gallery etc

I would like to link the whole site together via a tags system so that on each page I could have related items from other sections of the site.

what would be the best way to set this up to give me the best speed and accuracy when it comes to searching and pulling content via the tags?

what is the best table type to use for most accurate search

any and all advice appreciated please