What a long title for a post, right? And with the current trend to scripting installs, why would anyone in their right mind manually configure anything in SharePoint. The truth of the matter is that I didn’t plan on configuring the Search Topology. In fact, this manual configuration was done as part of my poorly scripted configuration. It is rare in my experience that learning real lessons come from planning. The real lessons come from life not going quite as planned…
This was my first experience using the Automated SharePoint 2010 Powershell-based installation script from CodePlex, the AutoSPInstaller available at http://autospinstaller.codeplex.com/ (Special thanks to Brian Lalancette and Andrew Woodward and anyone else that uses, documents, comments, or blogs about it. Really great tool for managing the install, even a multi-server farm.
So, I used the AutoSPInstallerInput.XML configuration file, verified my account info, checked database names, and let it rip. Worked like a champ. Went through to test everything… Sites were responding, My Sites worked, looked good. Then I tried to search.
Search wasn’t quite working. I went to the Search Application Topology, all that I had were the Admin component and the Databases. There was no Crawl Component configured, and there was no Index Partition. Shame on me… I didn’t actually configure the Crawl or Index Partition as part of the script.
Easy enough to fix, right. I figured I would just use the web interface to manually create a new Crawl Component. When you create a new component, a status message appears for ‘pending creation’. So, I created a new Crawl Component and then clicked ‘Apply Topology Changes’.
No luck. Failed. Received an error message that SharePoint could not configure a Crawl Component because there were an incorrect number of indexes. The SharePoint search topology only supports from 1 to 256 indexes. I currently had zero.
So I had to go create an Index first, right? Wrong. Couldn’t create an Query Component because there was no Crawl Component configured. Regardless of where I started, I couldn’t create the components because they were dependent on each other?
What’s the answer? You must create all components and databases at the same time. Each will show ‘pending creation’ or ‘pending deletion’ depending upon your actions. Apply Topology Changes will then appropriately configure the necessary Search Application Components.
Another lesson learned.