Archive for the ‘Scope’ tag
Creating SharePoint 2010 search scopes programmatically
Search scopes improve the SharePoint search experience by letting users search over a subset of information within an organisation. For example you can create a search scope for a specific project or a group such as Legal or Marketing. Search scopes can either be created at the search service application level and ‘shared’ by all site collections, or defined within a specific site collection.
Shared search scopes in SharePoint 2010 can easily be created using PowerShell commands such as New-SPEnterpriseSearchQueryScope. Corey Roth covers this in his article on Creating Enterprise Search Scopes with PowerShell. While the PowerShell method can also be used to create site collection related search scopes you might also want to do this programmatically in a feature receiver when the site collection is created. Another thing you might want to do programmatically is to associate a search scope with a display group such as the ‘Search Dropdown’ so it appears in options next to the search box. I’ll cover both these scenarios in this article.
Issues creating SharePoint 2010 search scopes programmatically
The SharePoint 2010 object model has several classes that can be used to create search scopes and display groups. These can be useful if you want to create search scopes in a feature receiver when a site collection is created. There are several things to watch out for, however, as you can run into problems if you use the SearchContext, SearchServiceApplication and SearchServiceApplicationProxy classes. This article describes these problems so you can avoid them in your code.