Sharing an Index between SharePoint Farms
Posted
Thursday, December 4, 2008 10:44 AM
by
CoreyRoth
I've seen a few posts in the forums lately on this, so I thought I would post how I have implemented it in the past. The issue is you have multiple SharePoint farms, but you want one index server to handle both of them. This is actually pretty easy to setup, if you don't mind your farms sharing the same Shared Services Provider (SSP). The process below describes how to share the services of one farm's SSP to other farms.
The first thing you need to do is decide which farm will host your index server and the configure it as normal. We'll refer to this as the parent farm. On the parent farm, go to Central Administration -> Application Management -> Managed Shared Services between Farms. Click on the option "This farm will provide shared services to other farms". You will then be prompted for which SSP to use. Most likely you only have one. If you have more than one, click the one that has your search index on it. You will then need to specify a user account. This account should have permissions on the child farm already. Typically, I would use the account that is being used for the application pool in central administration. Click ok and then you should see a screen giving you information on how to configure a child farm. Specifically it will give you the name of the parent farm's database server and configuration database.
Now you will want to go to your child farm. Go to the same page to manage shared services between farms, but this time click on "This farm will consume shared services from another farm". Enter the database server and name in the fields provided. I recommend using Windows authentication but keep in mind that account will need permission to access that configuration database. This shouldn't be an issue if both farms are using the same accounts for central administration though. The last option to specify is for Local Excel Services (which can not be shared across farms). For that you will have to specify an SSP that is local to that child farm.
It may not be entirely obvious what to do on the next screen at first. The goal is to associate any web applications you have created on the child farm to your new parent SSP. So the first thing you need to do is select the SSP of your parent from the list. It will have the word parent next to it in parenthesis. You then need to check the box next to any web application you have created and click ok. Your services from the parent SSP have now been shared to the child. This means any use of the Business Data Catalog, Enterprise Search, User Profile Application, or Session State will now be configured on the parent farm. If you want to add additional child farms, just repeat these steps on each farm.
At this point you can execute a search query on a web application on either farm and get the same results. However, you still need to configure a content source to crawl the child farm. You will need to go the Content Sources page of your Search Administration on the parent SSP. To index the child farm, you can do this in one of two ways. First, you can simply modify the existing Local Office SharePoint Server Sites content source and add the URL of your web application of the child farm into the list of start URLs. You can also create a new content source and specify the URL of the child farm there. I tend to approve the latter approach since I can put the crawls on different schedules that way. Either way you go, perform a full crawl when you are done. Once the crawl is complete, you will now be able to search for results on both farms from either farm.