If you are assigning search roles/components to different servers, then you need to make sure that you provision the enterprise search to all of those servers (see bold below).
For example
For example
<EnterpriseSearchService Provision="__LGLVSPP01-APP03,LGLVSPP01-IDX02,LGLVSPP01-APP03__" ContactEmail="" ConnectionTimeout="60" AcknowledgementTimeout="60" ProxyType="Default" IgnoreSSLWarnings="false" InternetIdentity="Mozilla/4.0 (compatible; MSIE 4.01; Windows NT; MS Search 6.0 Robot)" CustomIndexLocation="c:\SearchIndex" PerformanceLevel="PartlyReduced" ShareName="SearchIndex">
<EnterpriseSearchServiceApplication Name="Search Service Application"
FailoverDatabaseServer=""
Partitioned="false"
Partitions="1"
SearchServiceApplicationType="Regular"
ContentAccessAccount="CRAWL-ACCOUNT-NAME"
ContentAccessAccountPassword="CRAWL-ACCOUNT-PASSWORD">
<Database>Removed for brevity</Database>
<ApplicationPool Name="SharePoint Search Application Pool" />
<CrawlComponent>
<Server Name="LGLVSPP01-APP03" />
</CrawlComponent>
<QueryComponent>
<Server Name="LGLVSPP01-IDX02" />
</QueryComponent>
<!-- You should specify all the servers you listed in QueryComponent in the SearchQueryAndSiteSettingsServers node below as well -->
<SearchQueryAndSiteSettingsServers>
<Server Name="LGLVSPP01-APP03" />
<Server Name="LGLVSPP01-IDX02" />
</SearchQueryAndSiteSettingsServers>
<!-- You can only run the AdminComponent on one server per Search Service App in a SP2010 farm, so only list one server here unless you are installing SharePoint 2013 and need multiple Admin components. -->
<AdminComponent>
<Server Name="LGLVSPP01-APP03" />
<ApplicationPool Name="SharePoint Search Application Pool" />
</AdminComponent>
<!-- IndexComponent is only required for SP2013 -->
<IndexComponent>
<Server Name="LGLVSPP01-IDX02" />
</IndexComponent>
<!-- ContentProcessingComponent is only required for SP2013 -->
<ContentProcessingComponent>
<Server Name="LGLVSPP01-APP03" />
</ContentProcessingComponent>
<!-- AnalyticsProcessingComponent is only required for SP2013 -->
<AnalyticsProcessingComponent>
<Server Name="LGLVSPP01-APP03" />
</AnalyticsProcessingComponent>
<Proxy Name="Search Service Application" Partitioned="false">
<ProxyGroup Name="Default" />
</Proxy>
<!-- SearchCenterUrl is for SharePoint 2013 only and is used to set the global search center URL per http://autospinstaller.codeplex.com/workitem/18944.
The url you enter MUST end with /Pages or a localized variant of it (i.e. /Seiten in German, /Paginas in Dutch) in order for it to work correctly from MySites.
Do not add a trailing slash. i.e.: https://search.zomers.eu/Pages when your Search Center site collection is deployed as a host named site collection to https://search.zomers.eu -->
<SearchCenterUrl>https://internal.company.com/SearchCenter/Pages</SearchCenterUrl>
</EnterpriseSearchServiceApplication>