Información general sobre Windows Search
Windows Search es una plataforma de búsqueda de escritorio que tiene funcionalidades de búsqueda instantánea para los tipos de archivos y tipos de datos más comunes, y los desarrolladores de terceros pueden ampliar estas funcionalidades a nuevos tipos de archivo y tipos de datos.
Este tema se organiza de la siguiente manera:
- Introducción
- Requisitos técnicos previos
- Documentación del SDK de Windows Search
- Historial de Windows Search
- Recursos adicionales
- Temas relacionados
Introducción
Windows Search es un componente estándar de Windows 7 y Windows Vista, y está habilitado de forma predeterminada. Windows Search reemplaza a Windows Desktop Search (WDS), que estaba disponible como un complemento para Windows XP y Windows Server 2003.
Windows Search consta de tres componentes:
Servicio de Windows Search
WSS organiza las características extraídas de una colección de documentos. El Protocolo de Windows Search permite a un cliente comunicarse con un servidor que hospeda un WSS, tanto para emitir consultas como para permitir que un administrador administre el servidor de indexación. Al procesar los archivos, WSS analiza un conjunto de documentos, extrae información útil y, a continuación, organiza la información extraída para que las propiedades de esos documentos se puedan devolver eficazmente como respuesta a las consultas.
Una colección de documentos que se pueden consultar consta de un catálogo, que es la unidad de mayor nivel de organización en Windows Search. Un catálogo representa un conjunto de documentos indexados que se pueden consultar. Un catálogo consta de una tabla de propiedades con el texto o valor y la ubicación correspondiente (configuración regional) almacenados en las columnas de la tabla. Cada fila de la tabla corresponde a un documento independiente en el ámbito del catálogo y cada columna de la tabla corresponde a una propiedad. Un catálogo puede contener un índice invertido (para agilizar la coincidencia de palabras) y una caché de propiedades (para agilizar la recuperación de valores de propiedad).
El proceso del indexador se implementa como un servicio de Windows que se ejecuta en la cuenta localSystem y siempre está en ejecución para todos los usuarios (aunque ningún usuario haya iniciado sesión), lo que permite a Windows Search realizar estas tareas:
- Mantener un índice compartido entre todos los usuarios.
- Mantener restricciones de seguridad en el acceso al contenido.
- Procesar consultas remotas desde equipos cliente en la red.
El servicio Search está diseñado para proteger la experiencia del usuario y el rendimiento del sistema al indexar. Las siguientes condiciones hacen que el servicio reduzca o detenga la indexación:
- Uso elevado de CPU por procesos no relacionados con la búsqueda.
- Alta tasa de E/S del sistema, incluidas las lecturas y escrituras de archivos, la E/S de archivos de página y caché de archivos, y la E/S de archivos asignados.
- Disponibilidad de memoria baja.
- Duración baja de la batería.
- Poco espacio en disco en la unidad que almacena el índice.
Plataforma de desarrollo
La manera preferida de acceder a las API de búsqueda y crear aplicaciones de Windows Search es a través de un origen de datos de Shell. Un origen de datos de shell es un componente que se usa para ampliar el espacio de nombres de shell y exponer elementos en un almacén de datos. Un almacén de datos es un repositorio de datos. Un almacén de datos se puede exponer al modelo de programación de shell como un contenedor que usa un origen de datos de shell. El sistema de Windows Search puede indexar los elementos de un almacén de datos mediante un controlador de protocolo.
Por ejemplo, ISearchFolderItemFactory es un componente que puede crear instancias del origen de datos de la carpeta de búsqueda, que es una especie de origen de datos "virtual" proporcionado por el Shell que puede ejecutar consultas sobre otros orígenes de datos en el espacio de nombres del Shell y enumerar los resultados. Puede hacerlo utilizando el indexador, o enumerando e inspeccionando manualmente los elementos en los ámbitos especificados. Esta interfaz permite configurar los parámetros de la búsqueda mediante métodos que crean y modifican las carpetas de búsqueda. Si no se llama a los métodos de esta interfaz, se usan los valores predeterminados en su lugar.
Se prefiere acceder indirectamente a la funcionalidad de Windows Search a través del modelo de datos de Shell, ya que proporciona acceso a la funcionalidad completa de Shell a nivel del modelo de datos de Shell. Por ejemplo, puede establecer el ámbito de una búsqueda en una biblioteca (que es una característica disponible en Windows 7 y versiones posteriores) para usar las carpetas de biblioteca como el ámbito de la consulta. A continuación, Windows Search agrega los resultados de la búsqueda de esas ubicaciones si están en índices diferentes (si las carpetas están en equipos diferentes). La capa de datos del Shell también crea una vista más completa de las propiedades de los elementos, sintetizando algunos valores de propiedad. También proporciona acceso a las características de búsqueda de almacenes de datos que Windows Search no indexa. Por ejemplo, puede realizar búsquedas en un dispositivo de almacenamiento de bus serie universal (USB), un dispositivo portátil que usa el protocolo MTP o un servidor de Protocolo de transferencia de archivos (FTP) a través de los orígenes de datos de Shell que proporcionan acceso a esos sistemas de almacenamiento. Al hacerlo, se garantiza una mejor experiencia del usuario.
Windows Search tiene una memoria caché de valores de propiedad que se usa en la implementación del Servicio de Windows Search (WSS). Estos valores de propiedad se pueden consultar mediante programación utilizando el proveedor OLE DB de Windows Search o a través de ISearchFolderItemFactory, que representa los elementos en los resultados de búsqueda y las vistas basadas en consultas. A continuación, Windows Search recopila y almacena propiedades emitidas por controladores de filtro o controladores de propiedades cuando se indexa un elemento como, por ejemplo, un documento de Word. Este almacén se descarta y se vuelve a generar cuando se vuelve a generar el índice.
Los desarrolladores de terceros pueden crear aplicaciones que consuman los datos del índice a través de consultas mediante programación, y pueden ampliar los datos del índice para los tipos de archivo y elemento personalizados que Windows Search indexará. Si desea que los resultados de la consulta aparezcan en el Explorador de Windows, debe implementar primero un origen de datos de Shell para poder crear un controlador de protocolo y ampliar el índice. Sin embargo, si todas las consultas son mediante programación (por ejemplo, a través de OLE DB) y están interpretadas por el código de la aplicación en lugar del Shell, se prefiere un espacio de nombres de shell, aunque no es necesario.
Se requiere un controlador de protocolo para que Windows obtenga información sobre el contenido del archivo, por ejemplo, elementos de bases de datos o tipos de archivo personalizados. Aunque Windows Search puede indexar el nombre y las propiedades del archivo, Windows no tiene información sobre el contenido del archivo. Como resultado, estos elementos no se pueden indexar ni exponer en el shell de Windows. Al implementar un controlador de protocolo personalizado, puede exponer estos elementos. Para obtener una lista de los controladores identificados por el escenario de desarrollador que está intentando lograr, consulte "Introducción a los controladores" en Windows Search como plataforma de desarrollo.
Nota:
A veces, un origen de datos de shell se conoce como una extensión de espacio de nombres de shell. A veces, un controlador se conoce como una extensión de shell o un controlador de extensión de shell.
Interfaz de usuario
En Windows Vista y versiones posteriores, Windows Search se integra en todas las ventanas del Explorador de Windows para obtener acceso instantáneo a la búsqueda. Esto permite a los usuarios buscar rápidamente archivos y elementos por nombre de archivo, propiedades y contenido de texto completo. Los resultados también se pueden filtrar más para restringir la búsqueda. Estas son algunas otras características de Windows Search:
- Un cuadro de búsqueda instantánea en cada ventana permite el filtrado instantáneo de todos los elementos actualmente en la vista. Los cuadros de búsqueda instantánea aparecen en el menú Inicio buscar programas o archivos y, en la esquina superior derecha de todas las ventanas del Explorador de Windows para filtrar los resultados mostrados. La búsqueda instantánea también se integra en otras características de Windows, como el Reproductor multimedia de Windows, para buscar archivos relacionados.
- Los documentos se pueden etiquetar con palabras clave para agruparlos por criterios personalizados definidos por el usuario. Las etiquetas son elementos de metadatos asignados por el usuario o las aplicaciones para facilitar la búsqueda de archivos basados en palabras clave que pueden no estar en el nombre o el contenido del elemento. Por ejemplo, un conjunto de imágenes podría etiquetarse como "Vacaciones en Arizona 2009" para poder recuperarlas rápidamente más adelante buscando cualquiera de las palabras incluidas.
- Los encabezados de columna mejorados en las vistas del Explorador de Windows permiten ordenar y agrupar documentos de varias maneras. Por ejemplo, los archivos se pueden ordenar por el nombre, la fecha de modificación, el tipo, el tamaño y las etiquetas. Los documentos también se pueden agrupar según cualquiera de estas propiedades y cada grupo se puede filtrar (ocultar o mostrar) según sea necesario.
- Los documentos se pueden apilar según el nombre, la fecha de modificación, el tipo, el tamaño y las etiquetas. Las pilas incluyen todos los documentos que tienen la propiedad especificada y se encuentran dentro de una subcarpeta de la carpeta seleccionada.
- Las búsquedas se pueden guardar (para recuperarse más adelante) haciendo clic en el botón Guardar búsqueda en el panel de búsqueda del Explorador de Windows. Los resultados se rellenarán dinámicamente en función de los criterios originales cuando se abra la búsqueda guardada. Para obtener instrucciones, consulte Guardar los resultados de la búsqueda.
- Los controladores de vista previa y los controladores de miniatura permiten a los usuarios obtener una vista previa de los documentos en el Explorador de Windows, sin necesidad de abrir la aplicación que los ha creado.
Requisitos técnicos previos
Antes de empezar a leer la documentación del SDK de Windows Search, debe conocer los conceptos siguientes:
- Cómo implementar un origen de datos de Shell.
- Cómo implementar un controlador.
- Cómo trabajar con código nativo.
Un origen de datos de shell es un componente que se usa para ampliar el espacio de nombres de shell y exponer elementos en un almacén de datos. En el pasado, un origen de datos de Shell se denominaba una extensión de espacio de nombres Shell. Un controlador es un objeto de Modelo de objetos componentes (COM) que proporciona funcionalidad para un elemento de Shell. Para obtener una lista de los controladores identificados por el escenario de desarrollador que está intentando lograr, consulte "Introducción a los controladores" en Windows Search como plataforma de desarrollo.
Para obtener más información sobre el ensamblado de interoperabilidad del SDK de Windows Search para trabajar con objetos COM expuestos por Windows Search y otros programas que usan código administrado, consulte Uso de código administrado con datos de shell y Windows Search. Sin embargo, tenga en cuenta que los filtros, los controladores de propiedades y los controladores de protocolo deben escribirse en código nativo. Esto se debe a posibles problemas de control de versiones de Common Language Runtime (CLR) con el proceso donde se ejecutan varios complementos. Los desarrolladores que no estén familiarizados con C++ pueden iniciarse con el Centro para desarrolladores de Visual C++ y la Introducción al desarrollo de Windows.
Descarga y contenido del SDK
Además de cumplir los requisitos técnicos previos enumerados, también debe descargar el Windows SDK para obtener las bibliotecas de Windows Search. Los ejemplos de código de Windows Search contienen ejemplos de código útiles y un ensamblado de interoperabilidad para el desarrollo con código administrado.
Documentación del SDK de Windows Search
El contenido de la documentación del SDK de Windows Search es el siguiente:
Windows Search como plataforma de desarrollo
Describe los principales escenarios de desarrollo de Windows Search. Proporciona una lista de los controladores identificados por el escenario de desarrollo que intenta lograr, las directrices del instalador de complementos y las notas de implementación.
Guía del desarrollador de Windows Search
Proporciona instrucciones para administrar el índice, consultar el índice mediante programación, extender el índice y extender los recursos de lenguaje.
-
Documenta las siguientes categorías de interfaces de Windows Search: controladores de protocolo, consultas, ámbito de rastreo, complementos de datos, administración de índices y notificaciones. La documentación de referencia también incluye constantes y enumeraciones, estructuras, asignaciones de propiedades y formato de archivo de búsqueda guardada.
Ejemplos de código de Windows Search
Describe los ejemplos de código de API de búsqueda que están disponibles.
-
Describe la compatibilidad de Windows 7 con la federación de búsqueda en almacenes de datos remotos mediante tecnologías de OpenSearch que permiten a los usuarios acceder a sus datos remotos e interactuar con ellos desde el Explorador de Windows.
Tecnologías de búsqueda relacionadas
Enumera las tecnologías relacionadas con Windows Search: Enterprise Search, SharePoint Enterprise Search y aplicaciones heredadas como Windows Desktop Search 2.x y Platform SDK: Indexing Service.
-
Define los términos esenciales usados en las tecnologías de Windows Search y Shell.
Historial de Windows Search
Windows Search reemplaza a Windows Desktop Search (WDS), que estaba disponible como un complemento para Windows XP y Windows Server 2003. WDS ha reemplazado el servicio de indexación heredado de versiones anteriores de Windows por mejoras en el rendimiento, la facilidad de uso y la extensibilidad. La nueva plataforma de desarrollo admite requisitos que generan un sistema más seguro y estable. Aunque la nueva plataforma de consulta no es compatible con Microsoft Windows Desktop Search (WDS) 2.x, se pueden actualizar los filtros y los controladores de protocolo escritos para versiones anteriores de WDS para trabajar con Windows Search. Windows Search también admite un nuevo sistema de propiedades. Para obtener información sobre los filtros, los controladores de propiedades y los controladores de protocolo, consulte Extensión del índice.
Windows Search está integrado en Windows Vista y versiones posteriores, y está disponible como una actualización redistribuible de WDS 2.x, para admitir los siguientes sistemas operativos:
- Versiones de 32 bits de Windows XP con Service Pack 2 (SP2).
- Todas las versiones basadas en x64 de Windows XP.
- Windows Server 2003 con Service Pack 1 (SP1) y posteriores.
- Todas las versiones basadas en x64 de Windows Server 2003.
Los sistemas que ejecutan estos sistemas operativos deben tener Windows Search instalado para poder ejecutar aplicaciones escritas para Windows Search.
Recursos adicionales
- Para obtener más información sobre cómo crear un origen de datos de Shell, consulte Implementación de las interfaces básicas de objetos de carpeta.
- Para obtener más información sobre ISearchFolderItemFactory y el origen de datos de la carpeta de base de datos, vea la descripción de la constante STR_PARSE_WITH_PROPERTIES en Enlazar claves de cadena de contexto. Consulte también Matrices de asociación e IPropertySystem::GetPropertyDescriptionListFromString.
- Para obtener información sobre OLE DB, consulte Información general sobre la programación de OLE DB. Para obtener información sobre el proveedor de datos .NET Framework para OLE DB, consulte la documentación del Espacio de nombres System.Data.OleDb.
- Para obtener información general sobre los controladores de tipo de archivo (también conocidos como controladores de extensión de Shell y controladores de búsqueda), consulte Windows Search como plataforma de desarrollo.
- Para ver los paneles de mensajes que lleva la comunidad sobre las tecnologías de Search, consulte Preguntas y respuestas de Microsoft.
- Para ver ejemplos de código relacionados, vea Ejemplos de código de Windows Search.
Temas relacionados