Uso del Administrador de catálogos
Las interfaces ISearchCatalogManager e ISearchCatalogManager2 proporcionan métodos para administrar un catálogo de búsqueda, como provocar reindización o establecer tiempos de espera. Aunque Windows Search actualmente solo usa un catálogo, esta interfaz se diseñó para proporcionarle un mayor control para administrar varios catálogos de forma independiente. La interfaz administra el catálogo de las maneras siguientes:
- Acceso a otras interfaces: recuperar otras interfaces relacionadas con la búsqueda requeridas por el Administrador de ámbitos de rastreo, las notificaciones de cambio de datos y la interfaz ISearchQueryHelper .
- Contenido del catálogo: garantiza que los nuevos datos se indexan y que otras aplicaciones y componentes funcionan correctamente al forzar una nueva indexación de todo o parte del catálogo o al restablecer todo el catálogo.
- Propiedades del catálogo: establecer propiedades que determinan cómo administra el catálogo los tiempos de espera al conectarse a controladores de protocolo y cómo se tratan las marcas diacríticas en las búsquedas.
- Estado del catálogo: obtener información sobre el catálogo, incluido el estado, el tamaño y el estado de actividad actual.
Este tema se organiza de la siguiente manera:
- Acceso a interfaces relacionadas
- Administración del contenido del catálogo
- Administración del estado del catálogo
- Administrar propiedades del catálogo
- Ejecución en modo con privilegios elevados
- Temas relacionados
Acceso a interfaces relacionadas
Algunas interfaces útiles en la plataforma windows Search requieren una instancia del Administrador de catálogos para poder usarlas. Para crear un Administrador de catálogos para un catálogo especificado, llame al método ISearchManager::GetCatalog . Los métodos del Administrador de catálogos se pueden usar para crear instancias y devolver interfaces basadas en el catálogo especificado.
Método | Descripción |
---|---|
GetQueryHelper | Obtiene una instancia de la interfaz ISearchQueryHelper del catálogo actual, para que pueda compilar consultas fácilmente. |
GetCrawlScopeManager | Obtiene una instancia de ISearchCrawlScopeManager para este catálogo de búsqueda, para permitir a los desarrolladores modificar el ámbito de rastreo del indexador de búsqueda de Windows. |
GetItemsChangedSink | Obtiene una instancia de la interfaz ISearchItemsChangedSink , que las aplicaciones cliente usan para notificar al indexador los cambios cuando el cliente quiere que la información de estado de indexación sobre el elemento admita notificaciones administradas por el proveedor. Consulte Notificación del índice de cambios para obtener más información. |
GetPersistentItemsChangedSink | Obtiene una instancia de ISearchPersistentItemsChangedSink, que las aplicaciones cliente usan para notificar al indexador los cambios cuando el cliente no quiere la información de estado de indexación (notificaciones administradas por el indexador). Consulte Notificación del índice de cambios para obtener más información. |
Administración del contenido del catálogo
Hay dos tareas principales implicadas en la administración del catálogo: volver a indexar todas o algunas de las direcciones URL en el ámbito de rastreo del indexador y restablecer todo el catálogo subyacente. Al volver a indexar direcciones URL, los datos antiguos permanecen en el catálogo hasta o a menos que se reemplacen por datos nuevos. Al restablecer el catálogo, se vuelve a generar todo el catálogo y se vuelven a indexar todas las direcciones URL del ámbito de rastreo. Este proceso puede tardar mucho tiempo y solo debe usarse como último recurso para resolver problemas como un índice posiblemente dañado.
Al instalar una nueva aplicación, un controlador de protocolo o un filtro, la aplicación de instalación debe agregar su directorio o raíz al ámbito de rastreo para asegurarse de que el indexador incluye la ubicación de los datos de esa aplicación. Si los datos no aparecen en el catálogo después de que el indexador haya rastreado su ámbito de rastreo, primero debe asegurarse de que la ubicación de los datos se incluye en el ámbito de rastreo. Puede agregarlo mediante la interfaz de usuario para las opciones de Búsqueda de Windows o el Administrador de ámbitos de rastreo. Si la ubicación parece estar en el ámbito de rastreo, puede forzar manualmente una nueva indexación de todas las direcciones URL en el ámbito de rastreo del indexador o un subconjunto, mediante los métodos siguientes de la interfaz ISearchCatalogManager .
Método de reindización | Descripción |
---|---|
ISearchCatalogManager::Reindex | Vuelve a indexar todas las direcciones URL del catálogo. La información antigua permanecerá hasta que se reemplace por nueva información. |
ISearchCatalogManager::ReindexMatchingURLs ISearchCatalogManager::ReindexSearchRoot |
Vuelve a indexar las direcciones URL que coinciden con el patrón o comienzan en una raíz determinada (por ejemplo, file:///C:\Foldername\Subfoldername\). Esto es útil para volver a rastrear todo en un directorio determinado o con una extensión determinada, como cuando se instala una aplicación. |
PrioritizeMatchingURLs | Indica al indexador que dé prioridad a los elementos de indexación con direcciones URL que coincidan con un patrón especificado sobre cómo completar otras tareas de indexación. |
Restablecer el índice. Puede restablecer todo el índice con una llamada a ISearchCatalogManager::Reset. Esto restablece el catálogo subyacente recompilando las bases de datos y realizando un índice completo de todas las direcciones URL del ámbito de rastreo. Este proceso puede tardar mucho tiempo y solo debe usarse como último recurso para resolver problemas como un índice posiblemente dañado.
Importante
Debido a la ralentización en la indexación que estos métodos pueden causar, se deben usar cuidadosamente cuando se intenta identificar problemas de indexación o catálogo. En primer lugar, asegúrese de que las raíces de búsqueda y las reglas de ámbito se agregan en el Administrador de ámbitos de rastreo y, a continuación, asegúrese de que el bit FANCI (atributo de archivo no indexado de contenido) esté establecido correctamente para archivos y carpetas. Si ha confirmado que son correctos, pruebe ReindexSearchRoot primero y Reindex last. Si ninguno de estos trabajos funciona, pruebe a Restablecer como último recurso.
Para obtener información relacionada, vea Notificar el índice de cambios y Consultar el índice con ISearchQueryHelper.
Administración del estado del catálogo
El Administrador de catálogos se puede usar para obtener el estado del catálogo para las aplicaciones que quieran personalizar cómo se administra el catálogo (por ejemplo, una aplicación de supervisión personalizada de "Estado del catálogo"). Pero el Administrador de catálogos no suele ser necesario para la mayoría de los escenarios de desarrollo relacionados con la búsqueda. Los usos comunes serían para una aplicación de supervisión de "Estado del catálogo" o una aplicación de estilo Panel de control.
En la tabla siguiente se describen los métodos de ISearchCatalogManager que se usan para administrar el estado del catálogo.
Método | Descripción |
---|---|
URLBeingIndexed | Obtiene la dirección URL que se está indizando actualmente. Este método sería útil si intentaba identificar si el indizador estaba "bloqueado" en un elemento. |
NumberOfItems | Obtiene el número de elementos del catálogo. |
NumberOfItemsToIndex | Recupera la siguiente información sobre los elementos que se van a indexar:
|
GetCatalogStatus | Obtiene el estado del catálogo y devuelve un valor de enumeración que proporciona el estado actual. A continuación se muestran los posibles estados de catálogo:
|
get_Name | Obtiene el nombre del catálogo actual especificado en el método ISearchManager::GetCatalog . Actualmente, el único catálogo admitido es SystemIndex. |
Administrar propiedades del catálogo
Hay tres propiedades de catálogo que puede administrar con el Administrador de catálogos:
- Sensibilidad diacrítica. Los diacríticos son marcas de énfasis agregadas a letras para indicar el significado o la pronunciación de una palabra. Esta propiedad determina si el catálogo es sensible a los diacríticos y es importante cuando usted o los usuarios buscan e indexar texto en varios idiomas. Por ejemplo, con esta propiedad establecida en FALSE, el catálogo trataría "resume" y "resumé" como si fueran la misma palabra.
- Tiempos de espera de conexión. Esta propiedad representa la cantidad de tiempo que se espera para una respuesta de conexión de un servidor o almacén de datos, tal como se representa en una estructura de TIMEOUT_INFO . Puedes usar esta propiedad para ajustar Windows Search.
- Tiempos de espera de datos Esta propiedad representa la cantidad de tiempo para esperar una transacción de datos entre el indexador y un controlador de protocolo o filtro, tal como se representa en una estructura de TIMEOUT_INFO . Si ha transcurrido este tiempo, el proceso del demonio de filtro finaliza para evitar interbloqueos y otros problemas de recursos.
Las dos últimas propiedades están pensadas principalmente para uso futuro. Cada una de estas propiedades tiene get
métodos y put
.
Método | Descripción |
---|---|
get_DiacriticSensitivity / put_DiacriticSensitivity |
TRUE si el catálogo debe diferenciar palabras con diacríticos. FALSE si el catálogo debe omitir diacríticos. Cambiar esta propiedad requiere volver a generar el índice porque es posible que las claves del índice no sean válidas. |
get_ConnectTimeout / put_ConnectTimeout |
El tiempo, en segundos, que el indexador debe esperar una respuesta de conexión desde un servidor o almacén de datos. Establecer este valor demasiado alto puede provocar retrasos si muchos sitios no responden. Establecerlo demasiado bajo puede dar lugar a que algunos sitios no se rastreen. |
get_DataTimeout / put_DataTimeout |
Tiempo, en segundos, que el indexador debe esperar a una transacción de datos. |
Ejecución en modo con privilegios elevados
Cualquier llamada de método que actualice SystemIndex requiere que la aplicación se ejecute con privilegios elevados. De lo contrario, se producirá un error en la aplicación con un error de acceso denegado.
Temas relacionados
Interfaces para administrar el índice