OpenSearch

OpenSearch es un estándar para la publicación de resultados de una búsqueda en un formato adecuado para la sindicación y agregación. Es una forma de que las páginas web y los motores de búsqueda publiquen sus resultados de forma accesible.

Es un protocolo creado por a9.com (propiedad de Amazon) y actualmente es usado por muchos navegadores (principalmente Internet Explorer 7 y Firefox 2) en sus combos de buscadores.

Para incluir opensearch en un buscador propio, basta con escribir un pequeño xml que mapee el campo de búsqueda con una petición web. Luego adicionalmente podemos incluir una etiqueta en el sitio web para que el navegador sepa que esa página dispone de opensearch.



El fichero xml

Es un fichero muy simple en el que se indica que es un documento opensearch, como se mapea la peticion de consulta del buscador y que icono (tipo favicon) queremos usar. Luego pueden usarse más opciones, pero para un caso simple bastaría con esto (además no todos lo navegadores soportan todas las opciones).

XML:
  1. <?xml version="1.0" encoding="UTF-8"?>
  2.  <OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
  3.    <ShortName>Nombre</ShortName>
  4.    <Description>Descripcion</Description>
  5.    <Tags>Tags</Tags>
  6.    <Url type="text/html" method="get" template="URL?parametro={searchTerms}"/>
  7.    <Image width="16" height="16">Ruta al favicon</Image>
  8.  </OpenSearchDescription>



Por ejemplo, para el buscador de la wikipedia el fichero xml sería:

XML:
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
  3.     <ShortName>SearchPedia</ShortName>
  4.     <Description>Encuentra en Wikipedia</Description>
  5.     <Tags>searchpedia search wikipedia buscador </Tags>
  6.     <Url type="text/html" method="get" template="http://searchpedia.compuglobalhipermega.net/sear
  7. ch.php?index=titulo&amp;stem=on&amp;q={searchTerms}" />
  8.     <Image width="16" height="16">http://searchpedia.compuglobalhipermega.net/wiki.ico</Image>
  9. </OpenSearchDescription>


Y ya sólo queda poner la etiqueta de notificación de sistema de búsqueda:

HTML:
  1. <link rel="search" type="application/opensearchdescription+xml" title="SearchPedia" href="http://searchpedia.compuglobalhipermega.net/opensearch.xml">



Y para acabar de rematar la faena, podemos incluir un enlace para que al pulsar en el se instale nuestro sistema de búsqueda. Por ejemplo: SearchPedia.

Para realizar esto último, debes usar el siguiente código javascript:

JAVASCRIPT:
  1. window.external.AddSearchProvider('Ruta absoluta al fichero XML')


Referencias

One Response to “OpenSearch”

  1. Albin Says:

    Yo lo tengo puesto en mi web sobre gramática alemana, y tengo hecho que me envíe un mail cada vez que se use, y de momento creo que he recibido uno o ninguno … es coña, recibí uno.

    Me pareció una de esas cosas curiosas, que no cuesta mucho esfuerzo apoyarla, y que puede ser interesante a la larga.

    No sabía lo de Javascript, es genial.

Leave a Reply

This is a captcha-picture. It is used to prevent mass-access by robots. (see: www.captcha.net)

Debes leer y teclear los 5 caracteres entre 0..9 y A..F, y enviar la respuesta.

  

No puedo leer esto. Por favor, generar un