Migrating Enterprise Search Settings between SharePoint Environments

Posted Monday, September 17, 2007 1:18 PM by C-Dog's .NET Tip of the Day

So you just finished setting up Enterprise Search in your development environment and now your PM wants you to move it to test. You set up content sources, managed properties, scopes, etc. Hmm, you just need to click on the handy Copy My Search Settings to Another Server button. Oh wait, that's right there isn't one. What are your options? Well you did document everything you configured so you can just manually configure it by hand on another server. That should only take a day or two. Another option is backing up the SSP and then doing a restore. This obviously has other implications.

You would think stsadm could do something for you here but alas no. There is a solution though. It's a project on CodePlex called Sharepoint Shared Services Search Provider Property Creation (or SSSPPC). Available in binary and source forms, this tool makes it pretty easy to get your Content Sources, Scopes, and Managed Properties created. It will also do Crawled Properties if you are feeling brave. This command line utility simply exports your search settings and stores them in XML format. These can then be easily imported on another server. If you are searching with the Business Data Catalog, your first need to import all of your BDC schemas. Then you can import your content sources. At this point the product recommends doing a full crawl. This has to be done before trying to import managed properties, becuase if the crawled properties do not exist prior to importing the managed properties, the process will fail. You also can just import the crawled properties first, but I don't think this path is fully supported yet. After that you can import your search scopes.

So far after using the tool, the only issue I have ran into is that it did not always bind the content source to the BDC instance, but this might have been an issue with my system.

SSSPPC

Read the complete post at http://www.dotnettipoftheday.com/blog.aspx?id=385