jueves, 15 de febrero de 2007

Sáquale Provecho a la Búsqueda Integrada de Windows Vista

Windows Vista incorpora un poderoso motor de búsqueda que indexa todos los documentos existentes en la PC de manera automática. Ofrece la misma funcionalidad que Windows Desktop Search 3.0 pero viene ahora incluido con el sistema operativo. La búsqueda está presente en múltiples puntos del sistema operativo incluyendo:


· El Explorador de Archivos
· El Explorador de Internet
· Los Diálogos de Selección de Archivos
· El Panel de Control
· El Menú de Inicio


Adicionalmente, aplicaciones como Microsoft Outlook 2007 aprovechan el motor de búsqueda y se integran con él.
Como desarrolladores, podemos extender la búsqueda de Windows Vista de dos maneras:


· Podemos desarrollar aplicaciones que consuman el motor de búsqueda de Windows para presentarle resultados al usuario.
· Podemos desarrollar aplicaciones que extiendan el sistema de búsqueda de Windows para permitirle, por ejemplo, buscar nuevos tipos de documentos o con propiedades distintas.

Para desarrollar un consumidor de búsqueda la manera más simple es utilizar el proveedor OLE DB de búsqueda que viene incorporado a Windows. Es muy sencillo buscar utilizando este proveedor. Para establecer una conexión, basta con utilizar la siguiente cadena de conexión:

string connectionString = @"Provider=Search.CollatorDSO;Extended Properties='Application=Windows'";

Necesitamos saber además cual es la sintaxis que acepta este proveedor OLE DB para procesar nuestras consultas. En general, todas las consultas son de la siguiente forma:


SELECT [propiedades] FROM [nombredemaquina.]SYSTEMINDEX..SCOPE() [WHERE [predicados]]

Para nuestra fortuna, el SDK de Windows incluye un excelente ejemplo de desarrollo sobre la búsqueda que contiene una implementación básica. Este ejemplo lo podemos encontrar normalmente en C:\Archivos de Programa\Microsoft SDKs\Windows\v6.0\Samples\CrossTechnologySamples.zip\WindowsIndexSearchApp

En este ejemplo podremos encontrar las piezas más importantes que necesitamos. ¿Que columnas (propiedades) están soportadas? ¿Como especifico los predicados (filtros) de mis búsquedas?

No hay comentarios:

Publicar un comentario