I'm implementing a document library and trying to distinguish the use of managed meta data or lists with lookup values. The first one can be centrally defined, gives clarity of relationships and is consistent. On the other hand, lists seems to work better for users and can contain one or more content types.

The question is what to use for a document library with 20K+ documents associated with 10K project numbers and 1K contacts? Do I store the contacts/projects in lists or use use managed meta data?

3 Answers 3


It depends on a few basic factors that need to be answered first:

  • Will you use the same term store metadata anywhere else in the farm? You could have project numbers or contacts associated with other site collection in other applications. Maybe not at the moment, but in the future there may be a need. Consider this scenario as you make the decision.
  • Would you like users to filter search result by terms from term store? It’s a quite common scenario in farms with a lot of content that you want to be able to filter search result based on terms in the metadata store. You may want to store contacts based on location and enable users to filter search result based on location. This location in term store can be reused for other purpose and it would be a nice implementation if you made the term “state” a possible filter in the search result and that (by using reuse term) it is the same state across the farm.
  • Do you implement the same content types on different site collections in the farm? If you use a content type hub and build a hierarchy of document types this could be of benefit. You could have a “Company Project Budget Document” content type that inherits from the “Company Project Document” content type, which in term inherits from the “Company Document” content type. Having this structure makes management and governance easy, especially if you need to update the “Company Document” content type it will affect all dependent content types with only one update.

If any of the above is true, you should use terms from Managed Metadata Service. Now ask yourself the following questions:

  • Will you migrate to another farm or upgrade to a new version somewhere along the line of the life cycle of the document library? Migration to another farm with managed metadata can be difficult. Especially if the receiving farm already has an instance of Managed Metadata. You don’t want another Managed metadata service just because one site collection needed to be moved. Sure one can move terms (or recreate actually) but you need to have the exact same GUID on the term to make this work and it takes a lot of your valuable time.
  • Do you want the possibility to make simple backups using Backup-SPSite PowerShell Script, without the hassle of care of the Managed Metadata Service Application and its database? In a development phase you want to back up the SPSite from production and restore it in your development environment, just to have the same environment (sort of) as production. If all is enclosed in one site collection, backup-restore is very simple.

If these are true, use a lookup list.

If you answer yes to both set of questions, use the Managed Metadata Service.

  • 1
    well explained :)
    – Gaurravs
    Dec 14, 2015 at 19:29
  • @Gaurravs Thank you! You got a good angle on your answer too :)
    – Benny Skogberg
    Dec 14, 2015 at 19:33
  • @CitizenDB You're welcome! Since you added a bounty, I thought it called for a better explanation.
    – Benny Skogberg
    Dec 18, 2015 at 9:25
  • 1
    A wealth of knowledge here :) But what does content type hub have in relation with managed metadata?
    – Akhoy
    Dec 21, 2015 at 12:24
  • @Benny in case you didn't get a notification, just putting the question here: what does content type hub have in relation with managed metadata?
    – Akhoy
    Dec 22, 2015 at 20:59

I would suggest Managed metadata..

Increase in list may lead to threshold limit issue.

Have look at this article stating pros and cons : MSDN

Added benefit to MMS is you can create labels to terms, so it will be convenient for users to type in abbreviations or alternate keywords.

Also security can be handled over here.If want users to update or add new terms you can create open terms or closed terms if want to be done by specific set of people..


If you're dealing with that many objects, I would create the term store and use the managed metadata fields. The reason is that once you get past more than 10 items, the lookup field gets a little unwieldy for anyone that uses it. If you use a managed metadata field, you can organize those values within your taxonomy and have a little more structure to the data. The Managed Metadata field also provides your users with an auto-completion functionality that the lookup field doesn't provide out of the box.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.