Archive for the ‘Search’ Category
I’ve had several requests to show how to implement sorting following my previous posts on creating a simple SharePoint 2010 people directory and using a table based layout for a SharePoint 2010 people directory. This post shows how to implement custom sorting for the people directory so you can sort by first name, last name or any other managed property.
Step 1: Extend the search core results web part to support sorting
There are two search core results web parts that are capable of displaying list of people:
- Search Core Results – provides a generic way of displaying search results and supports sorting by relevance and modified date
I’ve had a couple of requests to extend the people directory I covered in a previous article on How to: Create a Simple SharePoint 2010 People Directory. One request was to show how to display the results in a table based layout. Displaying a basic table like the one shown below is really straightforward and simply involves some modifications to the XSL property of the search results web part.
On the 13th of April I presented at the European SharePoint Best Practices conference 2011. The session was titled Search Driven Knowledge Management and in the session we covered some of the SharePoint features available for structuring information so content is easy to find. As this was a community track session we looked at some real world projects that had information architecture requirements that didn’t line up with the out-of-the box SharePoint features. We looked at the requirements for these projects and I showed how solutions were built using a combination of the SharePoint features and customisations built on top of the SharePoint platform. This included using a search driven architecture and automating the tagging of content using the new content management features of SharePoint 2010.
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.
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.