Procedimiento para administrar mediante programación el rastreo de un origen de contenido
La clase ContentSource del modelo de objetos de administración Enterprise Search proporciona varios métodos que puede usar para iniciar, detener, pausar y reanudar rastreos fuera de un programa de rastreo para un origen de contenido específico mediante programación. También puede usar varias propiedades de la clase ContentSource para comprobar el estado de rastreo de un origen de contenido.
Los pasos de los procedimientos siguientes muestran cómo realizar las tareas que se indican a continuación:
Configurar una aplicación de consola para usar el modelo de objetos de administración Enterprise Search.
Recuperar un origen de contenido específico.
Realizar diversas tareas de administración de rastreo para dicho origen de contenido.
Mediante programación, también puede configurar la programación de rastreo para un origen de contenido. Para obtener más información, consulte Procedimiento para configurar mediante programación una programación de rastreo para un origen de contenido.
Para configurar la aplicación para que use el modelo de objetos de administración del motor de búsqueda Enterprise Search
Establezca las referencias de la aplicación en los siguientes archivos DLL:
Microsoft.SharePoint.dll
Microsoft.Office.Server.dll
Microsoft.Office.Server.Search.dll
En el archivo de clases de la aplicación de consola, agregue las siguientes instrucciones using cerca de la parte superior del código junto a las demás directivas del espacio de nombres.
using Microsoft.SharePoint; using Microsoft.Office.Server.Search.Administration;
Cree una función para escribir la información de uso en la ventana de la consola.
private static void Usage() { Console.WriteLine("Manage Content Source Crawl Status"); Console.WriteLine("Usage: ManageCrawlStatus.exe <ContentSource>"); Console.WriteLine("<ContentSourceName> - Specify the content source name."); }
En la función
Main()
de la aplicación de consola, agregue código para comprobar el número de elementos del parámetro args[]; si es menor que 1 (lo cual significa que no se especificó ningún valor para identificar el origen de contenido) llame a la funciónUsage()
definida en el paso anterior.if (args.Length < 1 ) { WriteUsage(); return; }
Para recuperar un origen de contenido específico
Agregue el siguiente código para recuperar el objeto Content para el contexto de búsqueda del proveedor de servicios compartidos (SSP):
/* Replace <SiteName> with the name of a site using the SSP */ string strURL = "http://<SiteName>"; Content sspContent = new Content(SearchContext.GetContext(new SPSite(strURL)));
Para obtener más información acerca de las formas de recuperar el contexto de búsqueda, consulte Procedimiento: Devolver el contexto de búsqueda para el proveedor del servicio de búsqueda.
Recupere la colección de orígenes de contenido.
ContentSourceCollection sspContentSources = sspContent.ContentSources;
Recupere el valor especificado en el primer elemento del parámetro args[], que indica el nombre del origen de contenido que se va a recuperar.
string strContentSourceName = args[0];
Recupere el origen de contenido con el nombre especificado de la colección de origen de contenido.
ContentSource cs = sspContentSources[strContentSourceName]; <…>
Para iniciar un rastreo incremental del origen de contenido
Reemplace el siguiente marcador de posición "<…>" con el siguiente código.
cs.StartIncrementalCrawl(); break;
Para iniciar un rastreo completo del origen de contenido
Reemplace el siguiente marcador de posición "<…>" con el siguiente código.
cs.StartFullCrawl(); break;
Para pausar un rastreo en proceso
Reemplace el siguiente marcador de posición "<…>" con el siguiente código.
cs.PauseCrawl(); break;
Para reanudar un rastreo en pausa
Reemplace el siguiente marcador de posición "<…>" con el siguiente código.
cs.ResumeCrawl(); break;
Para detener un rastreo del origen de contenido
Reemplace el siguiente marcador de posición "<…>" con el siguiente código.
cs.StopCrawl(); break;
Para comprobar los valores de estado de rastreo de un origen de contenido
Hay varios valores de estado de rastreo que se pueden comprobar para un origen de contenido mediante las propiedades del objeto ContentSource. En el siguiente ejemplo se muestra cómo comprobar estas propiedades.
Console.WriteLine("Crawl Status = " + cs.CrawlStatus); Console.WriteLine("Crawl started at: " + cs.CrawlStarted.ToString()); Console.WriteLine("Crawl completed at: " + cs.CrawlCompleted.ToString());
Vea también
Otros recursos
Procedimiento: Devolver el contexto de búsqueda para el proveedor del servicio de búsqueda
Introducción a los orígenes de contenido
Procedimiento para recuperar los orígenes de contenido para un proveedor de servicios compartidos
Procedimiento para agregar un origen de contenido
Procedimiento para eliminar un origen de contenido
Procedimiento para configurar mediante programación una programación de rastreo para un origen de contenido