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

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 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

Windows Search como plataforma de desarrollo

Idiomas admitidos por Windows Search

Uso de código administrado con datos de shell y Windows Search