Habilitar el almacén de datos en la búsqueda federada de Windows
Explica cómo permitir que un servicio web de OpenSearch acceda al almacén de datos y cómo evitar posibles barreras para hacerlo.
Este tema se organiza de la siguiente manera:
- Condiciones para la aceptación de la solicitud de búsqueda
- Envío de consultas y devolución de resultados de búsqueda en RSS o Atom
- Asignación automática a las propiedades del Shell de Windows
- Descripción de cómo Mapas de Windows elementos a tipos de archivo
- Evitar posibles barreras para habilitar un almacén de datos
- Recursos adicionales
- Temas relacionados
Condiciones para la aceptación de la solicitud de búsqueda
El servicio web OpenSearch que cree en el servidor web debe cumplir los dos requisitos siguientes:
Puede aceptar una
GET URL
consulta del cliente.Permitir que los términos de búsqueda se inserte en la dirección URL.
En el ejemplo siguiente se muestra cómo se puede incrustar un término de búsqueda en una dirección URL.
https://example.com/search.aspx?query=terms¶m=mysearchword
Nota
La búsqueda federada no admite el envío POST
de solicitudes a un servicio web.
Para obtener más información sobre cómo construir una dirección URL, vea "Parámetros de plantilla de dirección URL" en Crear un archivo de descripción de OpenSearch en windows Federated Search.
Sintaxis de consulta admitida
No se espera ninguna sintaxis de consulta específica en Windows 7. El proveedor de OpenSearch acepta los términos que el usuario escribe en el cuadro de entrada del Explorador de Windows y lo codifica en la dirección URL. Lo hace según la plantilla de dirección URL descrita en "Parámetros de plantilla de dirección URL" en Crear un archivo de descripción de OpenSearch en la búsqueda federada de Windows.
Los usuarios esperan que los términos independientes se traten implícitamente como ANDed juntos. Por ejemplo, una consulta para "Microsoft Windows" solo debe devolver resultados que contengan "Windows" y "Microsoft".
Protocolos de autenticación admitidos
Windows Federated Search admite la autenticación basada en Windows y puede proporcionar credenciales a los servicios web mediante los siguientes protocolos:
- NTLM.
- Kerberos.
- Básico (solo a través de https).
- Otros proveedores de soporte técnico de seguridad (SSP) instalados en Windows que proporcionan capacidad de consulta adicional. Consulte la documentación del SDK de la interfaz de SSP para mantenerse al día de la posible adición de otros SSP.
Envío de consultas y devolución de resultados de búsqueda en RSS o Atom
El proveedor de OpenSearch es responsable de asignar los valores del elemento XML a las propiedades del sistema de Windows Shell que pueden usar las aplicaciones de Windows. Pero no se limita a las asignaciones predeterminadas de elementos RSS o Atom estándar, y puede incluir elementos XML personalizados en el espacio de nombres de Windows para cada una de las propiedades. Por ejemplo, puede agregar sus propios elementos XML personalizados en el elemento item para proporcionar metadatos adicionales a Windows. También puede asignar elementos de otros espacios de nombres XML, como iTunes.
Ejemplo de salida de fuente RSS
En el ejemplo siguiente, la salida de fuente RSS devuelve un elemento.
<rss version="2.0" xmlns:media="https://search.yahoo.com/mrss/" xmlns:example="https://example.com/namespace">
<channel>
<title>Search Results</title>
<item>
<title>An example result</title>
<link>https://example.com/pictures.aspx?id=01</link>
<description>This is a test of the emergency search results system. If this were a real emergency result, you'd be reading something more useful.</description>
<pubDate>Wed, 1 Oct 2008 23:12:00 GMT</pubDate>
<media:content url="https://example.com/pictures/picture01.jpg" fileSize="212889" type="image/jpeg" height="768" width="1024"/>
<media:thumbnail url="https://example.com/thumbnails/picture01.jpg" height="120" width="160"/>
<example:dateTaken>Mon, 22 Sep 2008 23:12:00 GMT</example:dateTaken>
</item>
</channel>
</rss>
Para obtener información más detallada sobre la asignación de propiedades, vea las secciones "Elementos extendidos en la búsqueda federada de WIndows" y "Asignaciones de propiedades personalizadas" en Crear un archivo de descripción de OpenSearch en windows Federated Search.
Asignación automática a las propiedades del Shell de Windows
Dentro de los elementos de la fuente RSS, puede elegir incluir otros elementos XML que se asignan automáticamente a las propiedades del sistema de Windows Shell. Para ello, incluya un elemento denominado después de la propiedad Shell de Windows y prefijo con el espacio de nombres del sistema de Windows Shell. En el ejemplo siguiente se muestra la declaración win=" http://schemas.microsoft.com/windows/2008/propertynamespace"
de espacio de nombres y la inclusión de un elemento para la asignación win:System.Contact.PrimaryEmailAddress
de propiedades :
<rss version="2.0" xmlns:example="https://example.com/schema/2009" xmlns:win="http://schemas.microsoft.com/windows/2008/propertynamespace">
...
<item>
<title>Someone</title>
<win:System.Contact.PrimaryEmailAddress>someone@example.com
</win:System.Contact.PrimaryEmailAddress>
</item>
El prefijo de espacio de nombres que se usa aquí ("win"
) es una sugerencia; puede usar cualquier prefijo. Sin embargo, debe usar los nombres exactos de las propiedades del Shell de Windows y debe incluir el identificador uniforme exacto de recursos (URI), como se muestra en el ejemplo siguiente:
http://schemas.microsoft.com/windows/2008/propertynamespace
Acerca de las propiedades del sistema de Shell de Windows
Windows define una lista completa de propiedades del sistema y el formato de tipo de valor necesario para cada propiedad. La documentación de la propiedad System.FileExtension Window Shell, por ejemplo, especifica que el valor debe contener el punto inicial (".docx" y no "docx").
Valores de fecha y hora
El formato de fecha y hora preferido es ISO-8601, como se muestra en el ejemplo siguiente:
2008-01-16T 19:20:30:.45+01:00
Los desarrolladores de .NET deben usar la clase DateTime con ToString("R")
para generar el formato correcto.
Para obtener información más detallada sobre la asignación de propiedades, vea "Elementos extendidos en la búsqueda federada de Windows" en Crear un archivo de descripción de OpenSearch en Windows Federated Search.
Descripción de cómo Mapas de Windows elementos a tipos de archivo
La búsqueda en la interfaz de usuario del Explorador de Windows permite a los usuarios tratar los resultados como archivos cuando un elemento RSS apunta a un archivo almacenado de forma remota. El usuario puede arrastrar y colocar elementos en el escritorio y la interfaz de usuario del Explorador de Windows muestra el icono correcto y proporciona el menú contextual adecuado. Si el elemento RSS no apunta a un archivo almacenado de forma remota, el archivo se trata como un vínculo y los usuarios pueden realizar acciones en él, como crear un acceso directo o abrirlo en el explorador.
En el diagrama de flujo siguiente se muestra cómo Windows determina el tipo de archivo de un elemento.
El proveedor de OpenSearch realiza los pasos siguientes para asignar un elemento a un tipo de archivo:
- Identifique si el elemento debe tratarse como un archivo o un vínculo web.
- Identifique la extensión de nombre de archivo correcta que se va a usar.
Por ejemplo, si el elemento tiene una dirección URL de vínculo que usa una ruta de acceso del sistema de archivos (como file:///\\server\share\etc\item.ext
), el proveedor de OpenSearch trata el vínculo como un archivo y determina el tipo por la extensión de nombre de archivo usada en la ruta de acceso (.ext en este ejemplo).
Si el elemento usa el contenedor RSS estándar o el elemento media:content media:content de MediaRSS , el proveedor de OpenSearch asume que el elemento es un archivo e identifica la extensión de nombre de archivo de la siguiente manera:
- Si la propiedad System.FileExtension del Shell de Windows se ha asignado para el elemento, el proveedor usa esa extensión de nombre de archivo.
- Si no se ha asignado la propiedad Shell de Windows System.FileExtension , el proveedor usa el atributo Type especificado en el contenedor o el elemento de contenido. Este elemento debe contener una
MIMEType
cadena, como"image/jpeg"
.MIMEType
Si está asociado a una extensión de nombre de archivo registrada en el equipo cliente, el elemento se considera un archivo de ese tipo.MIMEType
Si no está asociado a una extensión de nombre de archivo registrada en el equipo cliente, el elemento se trata como un tipo de vínculo web. El proveedor de OpenSearch no intenta analizar el atributo URL para buscar la extensión de nombre de archivo. -
MIMEType
Si está asociado a una extensión de nombre de archivo registrada en el equipo cliente, el proveedor determina si la extensión de nombre de archivo es un tipo de archivo web conocido (.htm, .html, .asp, .aspx, .php, .swf, .stm). Si es así, el tipo de archivo se considera un tipo de vínculo web; de lo contrario, se considera un tipo de archivo. Por ejemplo, siMIMEType "text/html"
está asociado a la extensión de nombre de archivo .htm, ese elemento se considera un vínculo web en lugar de como un tipo de archivo .htm.
Evitar posibles barreras para habilitar un almacén de datos
Algunos almacenes de datos no proporcionan un servicio web compatible con OpenSearch, pero todavía se pueden conectar a Windows Federated Search. Estos almacenes de datos incluyen:
Índices remotos con métodos de autenticación que no se admiten en la búsqueda federada de Windows 7.
Algunos ejemplos son la autenticación basada en formularios y otros métodos de autenticación personalizados.
Si un almacén público de alto valor tiene API web públicas, cualquier usuario puede escribir otro servicio web compatible con OpenSearch y llamar a esas API en segundo plano.
Algunos ejemplos son la Biblioteca del Congreso y las bases de datos de investigación médica.
Almacenes o índices empresariales propietarios y almacenes de administración de contenido heredados, para los que podría ser imposible implementar un front-end.
Sin embargo, hay alternativas que pueden evitar barreras para habilitar un almacén de datos. Estas son algunas de esas alternativas:
Para escribir un servicio web de tipo intermedio cuando no se puede modificar el servicio web para el origen de datos existente, o el servicio web proporciona una API personalizada:
- Escriba un servicio web de tipo intermedio que pueda aceptar una consulta de Windows 7.
- Conéctese al origen de datos y recupere los resultados de la consulta.
- Vuelva a formatear los resultados en formato RSS o Atom.
- Devuelve los resultados al cliente de Windows 7.
- Tenga en cuenta que para los servicios de datos empresariales y muchos servicios de datos de Internet, es posible que tenga que pasar las credenciales de usuario a través de en nombre del servicio web para realizar el recorte de resultados en función de los permisos del usuario.
Para usar un motor de búsqueda existente cuando no se puede habilitar un almacén de datos público:
Use un motor de búsqueda público que ya admita OpenSearch con RSS. Para ello, proporcione a los usuarios un archivo .osdx que tenga una plantilla de dirección URL que restrinja los resultados solo a los de su dominio específico.
Vea el ejemplo siguiente de una descripción de OpenSearch para buscar solo el contenido de la Ayuda para Windows mediante una consulta en live.com.
<?xml version="1.0" encoding="UTF-8"?> <OpenSearchDescription xmlns="https://a9.com/-/spec/opensearch/1.1/"> <ShortName>Windows Help</ShortName> <Description>Search Windows Help using the live.com search engine</Description> <Language></Language> <Url type="text/html" template="https://windowshelp.microsoft.com/windows/search.aspx?=&qu={searchTerms}"/> <Url type="application/rss+xml" template="https://api.search.live.com/rss.aspx?source=web&query={searchTerms} site:windowshelp.microsoft.com&web.count=50"/> </OpenSearchDescription>
Para usar un servidor de indexación existente que admita OpenSearch cuando no se pueden habilitar almacenes de datos o índices empresariales propietarios:
- Seleccione un servidor de indexación existente que admita OpenSearch para indexar el contenido, como SharePoint Search Server.
- Cree un archivo .osdx que restrinja los resultados del índice de SharePoint solo a los del servidor mediante su sintaxis KeyWord dentro de la plantilla de dirección URL.
Para escribir un almacén de datos del lado cliente si una solución de solo servidor no funciona:
- Escriba un origen de datos de OpenSearch del lado cliente que se encuentra entre el proveedor de Windows OpenSearch y el origen de datos externo.
- Use la API de interfaz IOpenSearchSource en Windows SDK para crear un archivo .searchconnector-ms configurado correctamente a través del cual el Explorador de Windows puede llamar a la implementación con los parámetros de consulta. Después, la implementación puede devolver resultados con formato RSS o Atom. De este modo, la implementación permite proporcionar una interfaz de usuario de autenticación personalizada y conectarse al origen de datos mediante su API propietaria.
Nota
Al abrir un archivo .osdx se crea un archivo .searchconnector-ms (conector de búsqueda) en el directorio %userprofile%/searches y se coloca un vínculo en el directorio %userprofile%/links.
Recursos adicionales
Para obtener más información sobre cómo implementar la federación de búsqueda en almacenes de datos remotos mediante tecnologías openSearch en Windows 7 y versiones posteriores, consulta "Recursos adicionales" en Búsqueda federada en Windows.
Temas relacionados
-
Conexión del servicio web en la búsqueda federada de Windows
-
Crear un archivo de descripción de OpenSearch en la búsqueda federada de Windows
-
Procedimientos recomendados siguientes en la búsqueda federada de Windows
-
Implementación de conectores de búsqueda en la búsqueda federada de Windows