Best practices for search in SharePoint Server 2010


Applies to: SharePoint Server 2010

Topic Last Modified: 2011-09-29

This article is one of a series of Best Practices articles for Microsoft SharePoint Server 2010. This article describes the best practices for enterprise search. Unless otherwise noted, this article applies to both SharePoint Server 2010 and Microsoft Search Server 2010. For more articles in the series, see Best practices (SharePoint Server 2010). For additional information about best practices for SharePoint Server 2010, see Best practices (SharePoint Server 2010) and Performance and capacity management (SharePoint Server 2010).

In this article:

We recommend that you add users to Windows security groups or role claims instead of adding users to SharePoint groups for the following reasons:

  • Because changes to Windows security groups do not directly affect the access control entries (ACEs) on SharePoint sites, you do not have to perform a new crawl when user accounts within those Windows security groups are changed.

  • During the indexing process, the system stores the ACE of each user who was added to a SharePoint group instead of the ACE of the SharePoint group itself. This process supports approximately 1000 users per access control list (ACL), after which the "Parameter is incorrect" error causes crawling to fail.

For more information, see Choose security groups (SharePoint Server 2010) and Configure claims authentication (SharePoint Server 2010).

The search database contains metadata and ACLs of crawled content. Over a series of crawls, the search database can become fragmented. To improve performance of crawls and queries, periodically defragment the search database. For more information, see Database maintenance for SharePoint 2010 Products.

If you are mirroring the computers that run SQL Server, turn mirroring off before you defragment the search database and turn it back on after defragmentation is completed.

Search is I/O intensive for SQL Server. For best search performance, we recommend that you follow the guidance for small, medium, and large farms that is provided in Estimate performance and capacity requirements for SharePoint Server 2010 Search.

We recommend that you test the crawling and querying functionality of the server farm after you make configuration changes or apply updates. An easy way to do this is to create a temporary content source that is used only for this purpose. To test, we recommend that you crawl ten items — for example .txt files on a file share — and then perform search queries for those files. Make sure that the test items are currently not in the index. It is helpful if they contain unique words that will be displayed at the top of the search results page when queried. After the test is complete, we recommend that you delete the content source that you created for this test. Doing this removes the items that you crawled from the index and those test items will not appear in search results after you are finished testing. For information about crawling content, see Plan for crawling and federation (SharePoint Server 2010) and Manage crawling (SharePoint Server 2010).

When you use certain file-level antivirus software programs in SharePoint Server 2010, you should exclude certain folders from being scanned. If you do not exclude these folders, you can experience many unexpected issues. For more information, see the following article in the Microsoft Knowledge Base: 952167: Certain folders may have to be excluded from antivirus scanning when you use a file-level antivirus program in SharePoint (

The SharePoint Server 2010 Content Publishing team thanks the following contributors to this article:

  • Luca Bandinelli, Microsoft SharePoint Customer Advisory Team

  • Dan Blood, Microsoft SharePoint Customer Advisory Team

  • Sid Shah, Microsoft SharePoint Search Product Team

  • James Sturms, Microsoft SharePoint Search Product Team