Thursday, July 23, 2009

Understand MOSS Search Run Time Architecture

 

Understanding SharePoint Search Run Time Architecture is very helpful in planning/configuring SharePoint farm and troubleshooting Kerberos authentication. I recently read the following paragraph from Microsoft Web Site regarding SharePoint search planning:

In Office SharePoint Server 2007, the index role is associated with a Shared Services Provider (SSP). The index role builds one index per SSP. One index server can be associated with multiple SSPs. However, indexes across SSPs cannot be combined. You can deploy multiple index servers to improve capacity. In this case, each index server is associated with different SSPs. Unlike the Windows SharePoint Services 3.0 search role, content indexes produced by the Office SharePoint Server 2007 index role are continuously propagated to all servers that host the query role in a farm. Consequently, the output of the Office SharePoint Server 2007 index server role (that is, the index) is considered redundant if the query role is deployed to more than one server computer.

Let me explain this in detail.

What are index role, query role, index server and query server?

Index role is a logic role or responsibility that crawls contents and build index files. Query role is a logic role or responsibility that returns query results. Index Server/Query Server is an Office SharePoint Server Search Windows Service instance running on a server in the SharePoint Farm. The following picture shows the Services Console of a SharePoint Server:

clip_image002

An Office SharePoint Server Search Windows Service Instance can be configured to run as an index role, a query role or both. If an instance of MOSS Windows Search Service is configured as Index role. It is called Index Server. The same applies to the Search Role.

To start and configure a Index or Search server, open SharePoint Central Administration. Click the operation tab and then click "Services on the Server", the following window displays:

clip_image004

Click the "Office SharePoint Server Search" link. The screen to configure the Server Role for the Office SharePoint Server Search displays:

clip_image006

In this page, you can determine what roles the instance of Office SharePoint Server will play by selecting the check boxes at the top of the page.

We know how to create Index and Search server for a SharePoint farm. In a SharePoint Farm, we can have multiple SSPs. Each SSP may have different contents to search. The question is which SSP the index and Search server will work for. To answer the question, we need to study another setting. While creating a SSP, you will be ask to choose an index server:

clip_image008

The "Index Server" drop down list will allow you to choose which index server to use for the SSP. However, there is no selection for a Search Server. Therefore, we know:

  1. A SSP can have one and only one index server.
  2. A Search Server will serve for all the SSPs created in the farm.

Now, let us re-visit the paragraph from Microsoft Web Site using the knowledge we just learned:

In Office SharePoint Server 2007, the index role is associated with a Shared Services Provider (SSP). The index role builds one index per SSP. One index server can be associated with multiple SSPs. However, indexes across SSPs cannot be combined. You can deploy multiple index servers to improve capacity. In this case, each index server is associated with different SSPs.

It is in line with "A SSP can have one and only one index server"

Unlike the Windows SharePoint Services 3.0 search role, content indexes produced by the Office SharePoint Server 2007 index role are continuously propagated to all servers that host the query role in a farm.

It is in line with "A Search Server will serve all the SSPs created in the farm

Consequently, the output of the Office SharePoint Server 2007 index server role (that is, the index) is considered redundant if the query role is deployed to more than one server computer.

It basically says that you can scale out for Search Server. However, you cannot scale out for Index Server inside one instance of SSP.

No comments:

Post a Comment