Solución al límite de 250 resultados cuando realizamos una búsqueda de emails en Exchange Server 2013

Hola a todos,

Mi nombre es Marco Castro Rodiño y me he incorporado al equipo de Soporte de Exchange hace ya casi medio año. En mi primer post en el blog, me gustaría compartir con vosotros la solución de un caso en el que he trabajado recientemente.

Hace varias semanas mi cliente actualizó su Exchange a CU11 para así solventar el KB3093866. En ese momento, el KB (Revisión 3.0) mencionaba que el número de resultados de una búsqueda que se ejecuta contra Exchange Server 2013 no devuelve más de 250 elementos. Este KB estaba listado en las incidencias solventadas por la Cumulative Update 11, pero el problema seguía reproduciéndose tras la actualización.

Tras horas de investigación y pruebas en mi entorno, llegué a la conclusión de que es necesaria una modificación extra a parte de actualizar a CU11. En CU10 y versiones previas, este límite está hard-coded, por lo cual no puede ser modificado. En cambio, los binarios de CU11 sí que nos permiten establecer un límite diferente, aún que por defecto sigue siendo 250.

Actualmente ya hemos actualizado el KB a la Revisión 4.0, donde consta la solución a la que he llegado con mi cliente. De todos modos, ya que el KB está documentado en inglés, os dejo la descripción en español:

Para aumentar el límite de búsquedas debemos de modificar el archivo Microsoft.Exchange.Store.Worker.exe.config en los servidores Exchange. Este archivo se encuentra en el siguiente directorio:

%ExchangeInstallPath%\Bin\Microsoft.Exchange.Store.Worker.exe.config

Después de la línea  </runtime> debemos añadir:

 <appSettings> 
     <add key="MaxHitsForFullTextIndexSearches" value="1000" /> 
</appSettings>

Con este ejemplo el límite se establecerá en 1000 resultados, pero podemos fijar este valor entre 0 - 1000000. Tras añadir los nuevos campos, el archivo Microsoft.Exchange.Store.Worker.exe.config tiene el siguiente aspecto:

 <?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
     <runtime> 
          <generatePublisherEvidence enabled="false"/> 
          <disableCommitThreadStack enabled="1"/>
     </runtime> 
     <appSettings> 
          <add key="MaxHitsForFullTextIndexSearches" value="1000" /> 
     </appSettings>
</configuration>

Antes de establecer un valor elevado, es recomendable que lo vayamos incrementando de modo progresivo, para así poder monitorizar el impacto de las búsquedas en el rendimiento de los servidores Exchange.

Las modificaciones en el archivo Microsoft.Exchange.Store.Worker.exe.config se aplicarán automáticamente al paso de varias horas. De todos modos, si queremos forzar el cambio, debemos reiniciar el servicio Microsoft Exchange Information Store (MSExchangeIS) con la consecuente pérdida de servicio momentánea.

A continuación os dejo el artículo redactado por mi cliente en el que también comenta cómo hemos resuelto la incidencia:

Exchange 2013 – Solved the “Search results limited to 250” bug

Espero que este post os sea de utilidad.

Un saludo,

Marco Castro Rodiño