Una de las grandes novedades que trajo SharePoint 2013 fue la renovación de su Arquitectura de búsqueda y consigo una sería de funcionalidades como los Content by Search WebParts, Cross-Site Publishing y Continuous Crawl.
Como sabemos el uso de escenarios de publicación en Portales web de SharePoint basados en el motor de búsqueda tiene muchas ventajas, sin embargo también tiene sus retos. Uno de los principales retos está relacionado al tiempo en que se presentan los contenidos en el Portal. Debido a que los contenidos se presentan en base al motor de búsqueda, el tiempo en que este configurado el rastreo de contenidos es uno de los criterios que determinará el tiempo en que se presentarán los contenidos.
Para este escenario SharePoint 2013 proporciona un mecanismo de rastreo mucho mas eficiente y rápido que rastrea los contenidos en menos tiempo que el tradicional rastreo incremental. Este es el rastreo continuo!
El rastreo continuo por defecto se realiza cada 15 minutos, este se encarga de verificar si existen nuevos contenidos para añadirlos al índice, a diferencia de un rastreo incremental, el rastreo continuo no tiene que esperar a que un rastreo anterior finalice para iniciar uno nuevo, esto permite siempre tener los contenidos mas recientes actualizados en el Portal.
Aún así estos 15 minutos pueden resultar mucho tiempo para los requerimientos de algunas empresas. En este caso es posible reducir el tiempo del rastreo continuo ejecutando los siguientes comandos de PowerShell:
1. Primer obtenemos la propiedad «ContinuousCrawlInterval» para ver el valor actual. Por defecto este es 15 minutos.
2. Ahora establecemos el valor de la propiedad a 5 minutos.
3. Para que se apliquen los cambios debemos ejecutar el método Update.
4. Finalmente verificamos que efectivamente se haya realizado el cambio.
Lo que notaremos ahora es que los resultados de búsqueda se presentan con muchas mas rapidez. Si ejecutamos una búsqueda desde los sitios de búsqueda podremos apreciar eso, sin embargo también nos daremos cuenta de que los Content by Search WebParts no refrescan los datos inmediatamente. Estos se demoran unos 15 minutos aproximadamente, esto debido a que los WebParts también manejan una configuración de Cache de 15 minutos.
Esto también se puede cambiar mediante la ejecución de unos comandos en PowerShell:
Como podemos apreciar, la propiedad «SearchResultsCacheTTL» es la que nos permite expresar en segundos el tiempo en que se manejará en cache el contenido y no se verá refrescado. En este caso lo configuré para 5 minutos.
Y listo! a través de la ejecución de estos comandos podemos presentar la información de manera mas rápida. Sin embargo, es importante tomar en cuenta que tanto el tiempo destinado para el continuous crawl como el tiempo empleado para el cache al verse reduciendo, consumen mas recursos de los servidores tanto Web Front End (Por el manejo del cache) como los servidores de la topología de búsqueda.