Last year I inherited a farm environment that was configured in a hurry without a fully functioning indexing functionality since the original installation. It was a pretty straightforward medium server farm installation with 3 load-balanced WFEs and 2 application servers; one an Index/Query server and the other the Central Administration server.
The architecture called for the index server to crawl itself so that the load-balanced WFEs were not impacted during the crawls. This would have resulted in the Web Front End And Crawling setting on the
"Configure Office SharePoint Server Search Service Settings on server " page to be set to
"Use a dedicated web front end computer for crawling". However we found that selecting this option somehow did not work consistently. So we decided to use the other option
"Use all web front end computers for crawling" and then tweak the index server configuration to force it to crawl itself.
 |
| Web Front End And Crawling settings |
We left the Indexer Performance settings to "Partly reduced" as shown below.
 |
| Indexer Performance setting |
Now here is the interesting part of the tweak! Complete the remaining indexing configuration and then modify the
%Windir%\drivers\etc\hosts file on the index server. Point the IP address of the index server to the URL for the default web application. Ensure that the index server is setup as a WFE and not included in the load balance configuration. Together these steps will ensure that the when the index service starts the crawl, it will crawl itself.
How to verify that this works?
Kick off a full crawl or an incremental crawl from the Central Administration. Now log into the index server and open the IIS log file for the default web application. The log files are stored by default to the
%Windir%\system32\LogFiles\ folder. Open the latest log file. You will notice that the IP address under the "s-ip" (Server IP) field will be pointing to the IP address of the index server. Additionally "cs_username" (Username) field will display the crawl service account and the "cs-ip" (Client IP) field will also display the IP address of the index server. This confirms that although the Central Administration settings for the "Web Front End And Crawling" settings directs the indexer to use all available WFEs, the above tweak forces the indexer to ignore this setting and instead crawl itself.
We tested this and it has so far worked just fine! Hope this helps some of you folks out there grappling with a similar issue.