Alternate Access Mapping (AAM) and Server Name Mapping are two features SharePoint provides to alter the URLs returned in search results - a common practice used by many companies for their internal and external users. Both features are available in both the out of the box search in SharePoint 2010 and in the new FAST Search Server for SharePoint 2010.
This post is intended for people with working knowledge about the two features who want to know when to use which. If you need to brush up on your basic understanding about the two features, here are a couple good sources for your convenience:
• Alternate access mapping: http://technet.microsoft.com/en-us/library/cc261814.aspx
• Server name mapping: http://technet.microsoft.com/en-us/library/cc164184.aspx
Although Server Name Mapping and Alternate Access Mapping achieve seemingly similar results, they work independently, addressing different problems, and should not be used together. I’ve listed the similarity and differences below:
Server Name Mapping
• Is designed for file share and http content.
• Allows you to map any server name to anything you like as long as the name you mapped to actually points to the same set of pages. For example, you might have a Web site with a real access URL http://foo that you want show as http://microsoft.com ; or an internal file share server \\foo and you want to use \\microsoft instead. By setting up Server Name Mapping, your crawler will use http://foo or \\foo for indexing, but your users will only see http://microsoft.com, or \\Microsoft .
• Requires a full crawl for the mapping, once set up, to be applied.
• Search results will always use the new name for all users.
• Settings overwrite the AAM setting for the same results, if you use them together - which you shouldn’t.
• Is defined by the search admin for each SSA (search service application)
Alternate Access Mapping
• Is designed for SharePoint content.
• Allows you to modify results URLs based on the access URLs for a site. So, for the same result page, a user accessing from an internal URL will see results with URLs matching the internal site, and a user accessing from an external URL may get the same result set but with URLs matching the external site. For example, for the same set of SharePoint content, internal users use http://server to access the site, all the URLs they get in search results are prefixed with http://server/... ; external users use http://www.microsoft.com, all the search results they see are prefixed with http://www.microsoft.com.
• Does not require a crawl for the settings to take effect.
• Generates results URLs based on how the site is accessed.
• Is set per farm, so if you have more than 1 search service application in your farm, all of them will use the AAM setting.
The combination of Search Server Mapping and Alternate Access Mapping offers a lot of flexibility in managing URL mappings in search results. I hope this post helps to clarify how these features work and compare. If you have any questions or observations, please don’t hesitate to post your comments here.