June 10, 2011 Leave a comment
When I give search presentations, one of the demos I always do is about showing users how to do some quick and easy customizations to the Enterprise Search Center to improve the search experience a little better.
Just a quick note before we get into things too deeply. This blog post is specifically for users with SharePoint Server 2010 or Search Server Express 2010. If you happen to have FAST Search for SharePoint (FS4SP) the process for creating scopes will be different, but the same concepts would apply. In fact, you’ll be able to create scopes if you FS4SP the way I describe but you might get incorrect results.
For more information on creating scopes with FS4SP check out these great blog posts:
Just about every organization has a need for scopes. If you aren’t familiar with what a search scope is, you can think of it this way: All of the content that has been crawled by SharePoint is tossed into an index – like the index of a book. But the issue is, that sometimes you might just one to look at a small piece of that content. Maybe just content from a specific department, or all content tagged with a specific piece of metadata (maybe you wanted to only search within documents that were tagged as “proposals”). A scope is what makes this possible.
One thing I suggest in my session, is that you could move old content to an archive location. This could be a specific site, separate site collection or web application, or even a metadata flag on the content itself. Either way, the goal is the same – get the older information out of your active search results. But sometimes, users want to search the archives.
In this example, I’ll walk you through the steps about how to create a scope and set up the Enterprise Search Center with a separate tab your users can use to specifically search the archive.
1. For this demo I’m using an Enterprise Wiki as my starting point. If you are using a different template, your steps might be slightly different. But for the first step, you’ll want to create an Enterprise Search Center if you don’t already have one. To do this, you’d simply need to click Site Actions > New Site then click on the Enterprise Search Center. Give the site a title and URL and hit the Create button.
2. The next step is to create a scope. You’ll need to make sure you have Site Collection Administrator permissions. Click on Site Actions > Site Settings and then from under the Site Collection Administration section click on Search Scopes.
3. From the Toolbar click the New Scope button.
The create scope page will open, for the purposes of this demo you can simply fill in a Title for the scope and then hit OK.
4. This will take you back to the View Scopes page. You should see your newly created scope listed here, but you’ll notice that under the Update Status column it will say “Empty – Add rules.” To add rules, click on the Add Rules link.
5. On the Add Scope Rule page, at the top you’ll see you’ve got 3 options for scopes: Web Address, Property Query, and All Content. In this example we’ll use the Web Address option. However, the Property Query option is useful if you wanted to create a scope based on specific metadata values.
For the folder value, I’m just going to use one of my existing document libraries. So I’m going to cut and paste the URL into this field and remove the /Forms/AllItems.aspx part of the URL since it isn’t needed.
Then for the behavior section at the bottom, I’m going to leave Include selected and hit the OK button.
6. You’ll notice that when the View Scopes page loads that your new scope will likely need some time before it gets populated. In my case, it’ll be another 6 minutes. I With many other search related activities there’s a bit of waiting involved. I usually take this time to catch up on my web surfing
7. Once your scope has been created, it is time to head over to the Enterprise Search Center you created in the first step. Specifically, the results page. In my case the URL is:
It is okay if the page throws an error if there are no results. But if it would make you feel better, you can always execute a query.
8. Put the page into edit mode by clicking Site Actions > Edit Page.
At the top of the page click the Add New Tab link:
9. On the tab page, be sure to give it a Tab Name and enter a value for the Page. In this case, it is important to remember that when you enter the page name you need to include the full name of the page. In my case, it was archive.aspx. Then hit the Save button.
10. You’ll notice that the new tab has been created, but if you click on it you’ll get an error. Don’t worry. All we need to do is just create the page. And to do that click on Site Actions > New Page. Then press the Create button. In this case, we’ll call the page ‘Archive’ – no need for the .aspx. I know it isn’t consistent. Don’t blame me – I just write blog posts.
11. Once the new page has been created, there’s a couple quick modifications we’ll need to make to a couple of the web parts. First, modify the Search Box web part by clicking the Edit Web Part. When the web part properties menu opens, expand the Miscellaneous section and edit the Target search results page URL to point to itself. The goal here is that when someone does a search from this tab, we want to make sure it doesn’t redirect them to another page. Once complete scroll down to the button and press OK.
12. Next, edit the Search Core Results web part. Expand the Location Properties section and enter the name of the scope you created earlier. This will make sure that the results displayed in this web part are restricted to the scope we created. Press OK when you are done.
Then all you’ve got to do is Check in your page and give it a test. Just remember to publish the page if you want to enabled all users to see this. You can run a query against the All Sites scope and you should get back a big number, and then you click over to the new tab you’ll be only getting results back from your new scope – which should yield far fewer results.