Let’s do a quick review of how contextual searching in SharePoint Server 2010 FAST Search is supposed to be configured. For those of you who don’t know, contextual seraching is defined by the extra cs paramater in any given search query string.
So for example, your search query may look like:
http://server/Search/Pages/results.aspx?k=project documents&cs=This Site
If you’ve ever experienced an issue where your All Sites or various other scopes work, but your contextual scopes do not, here is what you need to verify:
1. Are your AAM’s configured correctly? So a couple of things to review here:
- What AAM is configured in the default zone of your web application?
- What is the start address of the content source you are trying to crawl?
Basically, the above two need to be the same. Let’s review this with some actual urls. Users navigate to your SharePoint site using http://intraneturl. The server url where SharePoint is being served from is http://servername. Both of those browse to the SharePoint site without issue. You have the http://servername configured in the AAM default zone, and you have the http://intraneturl configured in the Intranet zone.
Your content source is configured to crawl all sub sites within http://servername. This is all excellent and should work without issue. However, if any of these are switched around, you’ll run into problems.
So if your AAM default zone is configured for http://intraneturl and your content source start address is http://servername, your scopes will work fine, but your contextual search will not.
2. Now watch out for this one: you cannot use server name mappings to get around this issue. It simply will not work.
AAM Default Zone: http://intraneturl
Content Source: http://servername
Server Name Mapping: http://servername to http://intraneturl