Compartir a través de


Administración de reglas de ámbito

El Administrador de ámbitos de rastreo (CSM) permite definir reglas de ámbito que incluyan o excluyan direcciones URL del ámbito de rastreo de Windows Search.

El CSM le permite hacer lo siguiente:

  • Agregar nuevas reglas de ámbito al conjunto de reglas de trabajo
  • Eliminación de reglas de ámbito existentes
  • Enumerar las reglas de ámbito predeterminadas
  • Detectar si se incluye o excluye una dirección URL determinada del ámbito de rastreo o tiene una regla de ámbito primario o secundario.

 

En esta sección se incluyen los siguientes temas:

Acerca de las reglas de ámbito

Una regla de ámbito es una regla que incluye o excluye las direcciones URL dentro de una raíz de búsqueda que se rastrea e indexa. Las reglas de inclusión hacen que el indexador incluya esa dirección URL en el ámbito de scrawl y las reglas de exclusión hacen que el indexador excluya esa dirección URL (y sus elementos secundarios) del ámbito de rastreo.

Por ejemplo, supongamos que ha instalado una nueva aplicación cuyos archivos de datos se encuentran en la carpeta WorkteamA\ProjectFiles en un equipo local. Supongamos que desea todo lo que se encuentra en la carpeta ProjectFiles indizado, excepto los elementos de la subcarpeta Prototipos. En esta situación, necesitaría una regla de inclusión para myPH:///C:\WorkteamA\ProjectFiles\ y una regla de exclusión para myPH:///C:\WorkteamA\ProjectFiles\Prototypes\.

Hay tres tipos de reglas, con el siguiente orden de prioridad:

  1. directiva de grupo reglas se establecen por los administradores y pueden invalidar todas las demás reglas.
  2. Los usuarios que modifican el ámbito en la interfaz de usuario de las opciones de Windows Search establecen las reglas de usuario. Los usuarios u otras aplicaciones pueden quitar todas las reglas de usuario y revertir a las reglas predeterminadas.
  3. Normalmente, una aplicación establece las reglas predeterminadas para definir un ámbito predeterminado. Por ejemplo, las reglas predeterminadas se pueden establecer cuando se agrega un nuevo controlador de protocolo o contenedor al sistema.

Juntos, estos tipos de reglas componen el conjunto de reglas de trabajo desde el que el Administrador de ámbitos de rastreo (CSM) genera la lista completa de direcciones URL que se van a rastrear. Aunque las reglas predeterminadas se pueden invalidar mediante reglas de directiva de grupo y reglas de usuario, se mantienen en su propio conjunto de reglas predeterminado, al que puede revertir en cualquier momento. El indexador rastrea las direcciones URL del conjunto de reglas de trabajo y agrega elementos, propiedades y contenido al catálogo.

Nota

Los usuarios con acceso a Panel de control pueden modificar las reglas a través de esa interfaz. Por lo tanto, las aplicaciones que ofrecen administración de ámbitos siempre deben obtener las reglas directamente del CSM mediante los métodos de enumeración en lugar de confiar en una copia guardada de las reglas de usuario.

 

Las reglas de exclusión pueden definir direcciones URL de patrón con el carácter comodín '*'; por ejemplo: file:///C:\ProjectA\*\. Una regla de exclusión que usa este patrón impide que el indexador rastree las carpetas del directorio ProjectA. Para un ejemplo más complicado, supongamos que hay una regla de inclusión para file:///C:\ProjectA\ y una regla de patrón de exclusión para file:///C:\ProjectA\*\data\*. En este caso, el indexador rastrearía elementos en:

  • C:\ProjectA\
  • C:\ProjectA\version1\testfiles\
  • C:\ProjectA\version1\temp\data\

Pero el indexador no rastrearía elementos en:

  • C:\ProjectA\version1\data\

 

Antes de empezar

Antes de usar cualquiera de las interfaces de Crawl Scope Manager, debe realizar los siguientes pasos previos:

  1. Cree el objeto CSearchManager y obtenga su interfaz ISearchManager .
  2. Llame a ISearchManager::GetCatalog para "SystemIndex" para obtener una instancia de la interfaz ISearchCatalogManager .
  3. Llame a ISearchCatalogManager::GetCrawlScopeManager para obtener una instancia de la interfaz ISearchCrawlScopeManager .

Después de realizar cambios en el Administrador de ámbitos de rastreo, debe llamar al método ISearchCrawlScopeManager::SaveAll . Este método no toma parámetros y devuelve S_OK si se ejecuta correctamente.

 

Agregar reglas de ámbito

El conjunto de reglas de trabajo para el CSM incluye reglas predeterminadas y de usuario, así como las reglas forzadas por la directiva de grupo. Los usuarios configuran las reglas de usuario en una interfaz de usuario y las reglas predeterminadas se pueden establecer mediante cualquiera de las siguientes opciones:

  • Directivas de grupo implementadas por un administrador del sistema (no usan la interfaz ISearchCrawlScopeManager ).
  • Instalación o actualización de una aplicación como Windows Search o un controlador de protocolo
  • Una aplicación de configuración para agregar un nuevo almacén de datos o contenedor

ISearchCrawlScopeManager proporciona dos métodos para agregar nuevas reglas de ámbito, como se describe en la tabla siguiente. Las rutas de acceso para las reglas de inclusión del sistema de archivos deben terminar con una barra diagonal inversa '\' (por ejemplo, file:///C:\files\) y las rutas de acceso para las reglas de exclusión deben terminar con un asterisco (por ejemplo, file:///c:\files\*). Solo las reglas de exclusión pueden contener direcciones URL de patrón. Además, se recomienda incluir los identificadores de seguridad (SID) de los usuarios en las rutas de acceso para mejorar la seguridad. Las rutas de acceso por usuario son más seguras, ya que las consultas se ejecutarían en un proceso por usuario, lo que garantiza que un usuario no puede ver los elementos indizado desde la bandeja de entrada de otro usuario, por ejemplo.

En la tabla siguiente se describen los métodos de la interfaz ISearchCrawlScopeManager que se usa para agregar nuevas reglas de ámbito.

Método Descripción
AddUserScopeRule Agrega una regla para una dirección URL, tal y como especifica el usuario. Estas reglas invalidan las reglas predeterminadas. Use este método si ha implementado una interfaz de usuario que permita a los usuarios administrar sus propias reglas de ámbito y direcciones URL.
AddDefaultScopeRule Agrega una regla para una dirección URL, como especifica otra aplicación, como un controlador de protocolo. Use este método cuando haya implementado un nuevo controlador de protocolo o haya agregado un nuevo almacén de datos. Estas reglas se pueden invalidar mediante reglas de usuario.

 

Cada método toma una dirección URL a una ubicación indizable y marcas que determinan si la dirección URL debe incluirse o excluirse. El parámetro fFollowFlags está reservado para su uso futuro. Cuando se agrega una nueva regla de ámbito y el Administrador de ámbitos de rastreo determina que la regla ya existe (según la dirección URL o el patrón proporcionado), el conjunto de reglas de trabajo se actualiza para que (1) la regla anterior se reemplace por la nueva regla y (2) se quitan las reglas de usuario que lo contradigan.

Propina: Aunque el file:// raíz se incluye de forma predeterminada en el ámbito de rastreo, los archivos de programa no se indexan de forma predeterminada. Por lo tanto, las aplicaciones con datos guardados en su directorio Archivos de programa deben agregar su ubicación como regla predeterminada.

Notas sobre las reglas de usuario

Si una nueva regla de usuario es la misma que una regla predeterminada existente, la nueva regla de usuario invalida la regla predeterminada en el conjunto de reglas de trabajo. Si la nueva regla de usuario es la misma que una regla de usuario existente, se reemplaza la regla de usuario anterior.

Establecer la marca fOverrideChildren tiene los siguientes resultados en el conjunto de reglas de trabajo:

  • TRUE da como resultado la eliminación de todas las reglas secundarias del conjunto de reglas de trabajo (reglas de usuario y reglas predeterminadas).
  • FALSE da como resultado volver a agregar a las reglas de trabajo establecer todas las reglas predeterminadas que son elementos secundarios de la nueva regla de usuario. Si una regla predeterminada secundaria es una inclusión y la nueva regla de usuario es una exclusión, la regla predeterminada se cambia a una regla de usuario de inclusión.

 

Eliminación de reglas de ámbito

Puede usar la interfaz ISearchCrawlScopeManager para quitar una regla de ámbito del conjunto de reglas de trabajo. Esta interfaz proporciona los dos métodos siguientes para quitar reglas de ámbito.

Método Descripción
RemoveScopeRule Quita una regla de usuario para una dirección URL especificada del conjunto de reglas de trabajo. Si la regla de usuario es un duplicado de o invalida una regla predeterminada, la regla predeterminada permanece en el conjunto de reglas de trabajo.
RemoveDefaultScopeRule Quita una regla predeterminada para una dirección URL especificada del conjunto de reglas de trabajo y del conjunto de reglas predeterminado. Después de llamar a este método, no puede revertir a esta regla predeterminada mediante RevertToDefaultScopes.

 

Cada método toma una dirección URL y una marca que indica si la regla que se va a quitar es una regla de inclusión o exclusión. Estos métodos devuelven un error si no se encuentra una regla con esa dirección URL y la marca de inclusión o exclusión.

Propina: Si desea quitar un ámbito del ámbito de rastreo por completo, use el método RemoveRoot , que quita la raíz de búsqueda y todas las reglas de ámbito asociadas. Esto mientras se desinstala, por ejemplo, se considera un procedimiento recomendado.

También es posible quitar todas las invalidaciones del conjunto de usuarios de una raíz de búsqueda y revertir a la raíz de búsqueda original y a las reglas de ámbito predeterminadas. Para obtener más información, consulte la sección siguiente.

Nota

En Windows Vista, si los usuarios se quitan a través de perfiles de usuario en Panel de control, CSM quita todas las reglas y raíces que incluyen su SID y quita sus elementos indexados del catálogo. En Windows XP, debe quitar manualmente las raíces y las reglas de los usuarios.

 

 

Revertir a reglas predeterminadas

Al revertir a reglas predeterminadas, se quitan todas las reglas de usuario de una dirección URL o raíz y se restauran todas las reglas predeterminadas en el conjunto de reglas de trabajo. Sin embargo, no quita las reglas establecidas por la directiva de grupo. El método RevertToDefaultScopes no toma parámetros y devuelve un código de error si no puede revertir a las reglas predeterminadas.

 

Enumerar reglas de ámbito

El CSM enumera las reglas de ámbito mediante una interfaz de enumerador de estilo COM estándar, IEnumSearchScopeRules . Puede usar esta interfaz para enumerar las reglas de ámbito con varios fines. Por ejemplo, puede que desee mostrar todo el conjunto de reglas de trabajo en una interfaz de usuario o detectar si una regla o el elemento secundario de una regla ya está en el ámbito de rastreo.

 

Reglas de ámbito de seguimiento

El CSM también permite determinar si se incluye una dirección URL especificada en el ámbito de rastreo y si tiene una regla de ámbito primaria o secundaria. También puede averiguar por qué se incluye o excluye una dirección URL del ámbito de rastreo. Estos métodos no están diseñados para usarse con direcciones URL de patrón.

En la tabla siguiente se describen los métodos de ISearchCrawlScopeManager que se usan para agregar nuevas reglas de ámbito.

Método Descripción
GetParentScopeVersionId Obtiene el identificador de versión de la dirección URL de inclusión primaria. Puede usar este método para ver si el ámbito primario ha cambiado desde la última vez que lo comprobó.
Ejemplo: si una aplicación de correo usa notificaciones administradas por el proveedor, podría obtener la versión del ámbito primario antes de cerrarla y comprobar la versión de nuevo cuando se abra. A continuación, la aplicación puede determinar si necesita insertar un nuevo conjunto de notificaciones en el indexador.
HasChildScopeRule Devuelve TRUE si la dirección URL especificada tiene una regla secundaria (una regla que se aplica a un elemento secundario en cualquier nivel dentro de su jerarquía de direcciones URL).
Ejemplo: si la dirección URL es file:///C:\Folder\, este método devuelve TRUE si el CSM tiene una regla de ámbito específicamente para file:///C:\Folder\Subfolder\.
HasParentScopeRule Devuelve TRUE si la dirección URL especificada tiene una regla primaria (una regla que se aplica a un elemento primario en cualquier nivel de la jerarquía de direcciones URL).
Ejemplo: si la dirección URL es file:///C:\Folder\Subfolder, este método devuelve TRUE si el CSM tiene una regla de ámbito específicamente para file:///C:\Folder\.
IncludedInCrawlScope Devuelve TRUE si la dirección URL especificada se incluye en el ámbito de rastreo.
IncludedInCrawlScopeEx Devuelve un valor de la enumeración CLUSION_REASON que explica por qué la dirección URL se incluye o se excluye del ámbito de rastreo y recupera el valor TRUE si la dirección URL se incluye en el ámbito de rastreo. Este método puede ayudarle a identificar conflictos en el conjunto de reglas de trabajo.

 

 

Nota

Los métodos IncludedInCrawlScope y IncludedInCrawlScopeEx determinan si la dirección URL se rastreará únicamente en función de las reglas del CSM. Puede haber otras razones por las que no se rastrea una dirección URL, como el bit FANCI que se establece (es decir, un usuario no ha permitido la indexación rápida en el cuadro de diálogo Propiedad de la carpeta).

 

Si cree que se debe excluir una ruta de acceso de archivo, pero aparece como incluida, asegúrese de que las reglas de exclusión terminan con "<path>\*". Si cree que se debe incluir una ruta de acceso de archivo o archivo, pero no es así, asegúrese de comprobar la configuración de bits FANCI para el archivo o la ruta de acceso. Para ello, haga clic con el botón derecho en el archivo o la ruta de acceso del archivo y seleccione Propiedades y, a continuación, asegúrese de que la casilla Para realizar búsquedas rápidas, permita que Indexing Service indexe esta carpeta esté activada. Si la ruta de acceso del archivo o del archivo no está marcada para la indexación aquí, no se indexará aunque esté en una regla de inclusión.

Referencia

ISearchCrawlScopeManager

ISearchCrawlScopeManager2

ISearchScopeRule

IEnumSearchScopeRules

Conceptual

Administración de raíces de búsqueda