Wednesday, February 15, 2012

Configuring and optimizing SharePoint 2010 Search

Microsoft SharePoint has had a search engine since its first iteration, but SharePoint 2010 search is disabled by default.

SharePoint administrators are now faced with the challenge of activating search functions. Here are the steps necessary to enable SharePoint 2010 searches and optimize the indexing process. This advice assumes the use of SharePoint 2010 Standard or Enterprise Edition.

1. Create a SharePoint Search Service application
You must create a search service application to make SharePoint 2010 searchable. To begin, log on as an administrator and open the Central Administration console.

Next, click the Application Management link, then the Manage Service Applicationslink. On the next page, click the New icon and choose the Search Service Applicationoption (Figure 1).

Figure 1. Select the Search Service Application option in SharePoint 2010.

You will now see the Create New Search Service Application page (Figure 2). Name the search service application. We’re not using FAST search, so set the FAST Service Application option to None.

Figure 2. Give your new SharePoint 2010 service application some parameters.

Next, select a service account your SharePoint 2010 search service application can use. SharePoint 2010 is configured to use the Network Service account by default, but you can also provide a dedicated account by clicking the Register New Managed Account link.

Note: Later in this tip, you’ll see that you must perform several steps in order to give the service account the necessary permissions. These steps are required regardless of whether you use the network service account or a dedicated service account.

2. Create a SharePoint 2010 application pool
Now that you’ve created a new search service application, you must link it to an application pool. While you can link the application to an existing application pool, you’re better off creating a dedicated application pool to isolate the search service application from your other Web applications.

You can create an application pool directly through the dialog box shown in Figure 2 by selecting the Create New Application Pool option and naming it. You must now provide a service account for the new application pool.

Once again, you can use the network service account or a dedicated account. If you use a dedicated account, select the Configurable option and select the account you want to use. If the service account is not listed, click the Register New Managed Account link and follow the prompts.

It’s also smart to create a dedicated application pool for the Search Query and Site Settings Web Service. This is accomplished in the same dialog box you have been working in, and the procedure is identical to the one described in the previous paragraph. After entering the application pool data, click OK to create the new search service application. Once the application is ready, click OK.

3. Assign the necessary permissions
Now that you’ve created the search service application, be certain the service accounts you specified have the necessary permissions. The Central Administration console displays a list of all of the service applications. Scroll through the list until you locate the User Profile Service Application. Select it, then click on the Administrators icon in the ribbon (Figure 3).

Figure 3. Click on the Administrators icon in the SharePoint 2010 ribbon.

When the Administrators for User Profile Service Application dialog box appears, add the service account to the list of administrators. If you’re using the Network Service account, it should be listed by default. Select the Retrieve People Data for Search Crawler checkbox, then click OK (Figure 4).

Figure 4. Select the Retrieve People Data for Search Crawlers check box in SharePoint 2010.

You must also make certain that your service accounts have read permissions for your SharePoint 2010 site and the other sites you want to crawl. If you don’t, the search application cannot index site content. To do so, click the Application Management link, then the Manage Web Applications link. Select the SharePoint – 80 Web application and click the User Policy icon in the ribbon (Figure 5).

Figure 5. Select the SharePoint 2010 site you want to search and click the User Policy icon.

When the User Policy for Web Applications dialog box appears, make sure your service account has Full Read permissions (Figure 6). This will happen automatically if you chose the local service account, but if you chose to use a dedicated service account, you must add it to the list.

Figure 6. Your SharePoint 2010 service account must have Full Read permissions whether you use a local or dedicated service account.

4. Set your crawling options
Now that you’ve created the necessary service account, configure your crawling options. Click on the Application Management link, then the Manage Service Applications link. Click on the SharePoint 2010 service application you created earlier to access the administration page (Figure 7).

Figure 7. The SharePoint 2010 Search Administration page contains links to numerous search options.

Now, specify which sources to crawl. To do so, provide SharePoint with enough information so that all the user data will be crawled. But also consider whether anything should be omitted. Specifying excessive crawl sources can bog down the crawler, which increases the odds that SharePoint 2010 returns irrelevant search results.

To specify content sources, click on the Content Sources link. The Local SharePoint site is listed as a crawl source by default. However, you can use the New Content Source option to add additional URLs to crawl.

After creating a new content source, SharePoint 2010 gives the option to set a schedule for both full crawls and incremental crawls (Figure 8). You can also set a priority for the content source. These options help minimize the impact the crawling process has on the server while simultaneously giving priority to your most important content sources.

Figure 8. You can set schedules and priorities for SharePoint 2010 crawling content sources.

After specifying the crawl sources, take a look at the File Types option (Figure 9). This lets you specify which types of files to be indexed during the crawl. You can improve the crawler’s performance and search-result relevancy by omitting unnecessary file types.

Figure 9. Control which file types to crawl in SharePoint 2010.

If you notice degradation in performance on your SharePoint site, you can create Crawler Impact Rules to limit the impact of the indexing process. Crawler Impact Rules control the number of simultaneous requests the crawler makes against the site. You can also force the crawler to index one document at a time and to wait for a specific number of seconds between requests (Figure 10).

Figure 10. Throttle the SharePoint 2010 crawling process with Crawler Impact Rules.

Brien Posey is an eight-time Microsoft MVP with two decades of IT experience. Before becoming a freelance technical writer, Brien worked as a CIO for a national chain of hospitals and healthcare facilities. He has also served as a network administrator for some of the nation’s largest insurance companies and for the Department of Defense at Fort Knox.