Home > Sharepoint > Step by Step, how to propagate your MOSS index

Step by Step, how to propagate your MOSS index

Quite the head-scratcher this turned out to be. In my production SharePoint 2007 install, I have search turned on and my central admin box was doing the crawling as well as being the query server. In the interest of making things a bit more robust and scalable, I thought it best to have my web front ends be query servers as well.

[Note for those of you coming from Domino-land, like me: In Domino we go to each replica of a given application and build a full-text index. Not so with MOSS, as it’s a bit smarter than that: I can designate one server to do all the crawling for  a given SharePoint install (as well as external sites), then have the crawl server do a flat-file copy of the index files to designated query servers. In really big installations, you can have one or more servers doing the crawling, with one or more different servers doing the serving of those searches, or the ‘query’ function. I know, we can do that in Domino with the domain index as well, but that only really works with Notes clients. Working from a Domino-web-only perspective, I have to have this domain index created and maintained on each web server]

However, this is not as simple as just starting up Office Server Search on each WFE and checking off the query check box. This was the first problem I ran in to: If you have, as I had, a server set up both as Crawl and Query functions, the index will not propagate to the newly-designated Query servers until Query is disabled on the Crawl server. This will mean that for a time, search queries will not work if you have no other Query servers in your farm.

Once I figured out that, I apparently got bit by the proxy problem. I have a proxy server in my environment, and it is needed by us end-users to get to the Internet, but it isn’t needed by Sharepoint search, as all of the sites its crawling are internal. I had it enabled per the recommendation of one support tech, but my index files were still not propagating.

So, I had to disable it in two places: In the Central Admin GUI (Central Administration – Application Management – Search Service – Farm-Level Search Settings) and, oddly enough, I had log in to each of the servers in my farm (CA as well as all the WFE’s) and disable the proxy settings under Internet Options for the user profile associated with the MOSS service account. Seemed strange, but it sure did the trick.

So, in my case, here’s what worked:

  1. Make sure the proxy is disabled under Control Panel – Internet Options – Connections – LAN Settings for your MOSS service account on each server in the farm (though this setting on your SQL server shouldn’t matter)
  2. Make sure it is also disabled in the Farm-Level Search Settings above
  3. On your Crawl server, open the settings for Office SharePoint Server Search and make sure the box “Use this server for serving search queries” is UNchecked. If it is checked, uncheck it, then go to the Services control panel and restart the Office Server Search service. NOTE: make sure there is not a crawl going on at this time. Yes, you could use the stop/start links in the UI, but then you lose all your settings.
  4. For each of the servers you want to be a Query server, go to that server under Central Admin – Operations – Services on Server and select that server. Click on Office SharePoint Server Search and check off the ‘Use this server for serving search queries” box, then fill in the appropriate fields. Make sure the folder you designate to store the index flat files is on a volume with enough space.
  5. Back in Services on Server, click Start for Office SharePoint Server Search.
  6. Go to Shared Services Administration, SharedServices1 (where you are enabling search), click on Search Administration and check on the propagation status. You should also see files and folders under the folder you designated in Step 4, above.

That should do it. As always, YMMV, so you may need to call support

Categories: Sharepoint Tags: