Wednesday, February 1, 2012

SharePoint Contextual Search Scopes

SharePoint provides two categories of search scopes: Custom and Contextual.
·    Custom scopes:
o  "All Sites"
o  "People"
o  The custom search scopes created via the search or site admin pages
·    Contextual scopes:
o  “This Site”
o  “This List”

Search behaves a little differently between these categories. Specifically, there are two pages on which search results are displayed, one for each category. The page for Custom scope results is the most familiar: it’s the one that offers custom scopes and properties available via Advanced Search.  The page for Contextual scope results is much simpler: there are no best bets, high confidence results, advanced search link and search tabs, and it can’t be customized in browser since it’s not a web part page.

Also, the search results page that can be configured on the Search Settings page affects Custom scope results, and is set to “/sites/fastsearch/Pages” in our environment.  This setting has no effect on Contextual scope results, which always go to /_layouts/osssearchresults.aspx for SharePoint Enterprise/Standard installations (for SharePoint Foundation, it is /_layouts/searchresults.aspx).
Our custom master pages (meijersearch.master and meijer.master) don’t really work well with search results (loading freeze of office web application thumbnails), and We turned meijersearch.master off in Fast Search Center during the upgrade. We cannot do the same to make /_layouts/osssearchresults.aspx work, since it inherits master page from its Context.

I found out OSSSearchResults.aspx and /sites/fastsearch/Pages/Results.aspx return the same results with same search parameters (following URLs can bring back same results). One of viable solutions could be redirecting all contextual scope searches to our Fast Search Center content result page(/sites/fastsearch/Pages/Results.aspx).