Finalmente consegui um tempo para escrever o meu artigo sobre um dos melhores recursos do Windows 7! A Busca Federada (do inglês, “Federated Search”), também conhecida por alguns como “Pesquisa Federada”, permite realizar pesquisas em locais remotos sem a necessidade de abrir sites ou utilizar o navegador. Imagine só: agora você consegue, por exemplo, buscar imagens do Bing diretamente em uma janela do Windows Explorer! E mais: você pode copiar, colar, definir a imagem como papel de parede… enfim, só olhando para se ter uma ideia do que eu estou realmente falando.
Exemplo de busca federada no Bing Image Search
O Windows 7 introduziu o conceito de “conectores de busca”. Esses conectores são criados através de um arquivo “.osdx” (Open Search Description). A execução de um arquivo .osdx cria uma novo conector de buscas no cliente e o coloca nos favoritos do Windows Explorer. Para entendermos melhor, o arquivo .osdx define como se deve consultar o servidor e qual o formato de retorno.
A busca é feita por uma requisição HTTP no servidor. O resultado chega como um XML Reply, em formato RSS, recuperado do servidor. É possível implementar essa pesquisa também em servidores de rede. Desse modo, dizemos que a busca federada utiliza o protocolo OpenSearch, que nada mais é que um protocolo simples, baseado em RSS & ATOM, que deve ser habilitado no servidor.
Abaixo, elaborei uma figura que tenta demonstrar como esse processo ocorre, de maneira bem simples:
Enfim: vamos ao nosso primeiro exemplo! Vou citar como criamos um conector de busca federada de imagens do Bing.
01. Abra o bloco de notas do Windows 7.
02. Cole o texto abaixo:
<?xml version="1.0" encoding="UTF-8"?>
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
<ShortName>Bing Image Search</ShortName>
<Description>Use bing.com to search the image index.</Description>
<Tags>Image</Tags>
<LongName>bing.com Image Search</LongName>
<Image width="16" height="16" type="image/gif">http://www.bing.com:80/s/rsslogo.gif</Image>
<Query role="example" searchterms="seattle"/>
<Developer>Microsoft Corporation, bing Search Development Team</Developer>
<SyndicationRight>limited</SyndicationRight>
<InputEncoding>UTF-8</InputEncoding>
<OutputEncoding>UTF-8</OutputEncoding>
<Url type="text/html" template="http://www.bing.com/images/search?q={searchTerms}"/>
<Url type="application/rss+xml" template="http://api.bing.com/rss.aspx?source=image&query={searchTerms}&image.count=50&mkt={language?}"/>
<ms-ose:ResultsProcessing format="application/rss+xml" xmlns:ms-ose="http://schemas.microsoft.com/opensearchext/2009/">
<ms-ose:PropertyDefaultValues>
<ms-ose:Property schema="http://schemas.microsoft.com/windows/2008/propertynamespace" name="System.PropList.ContentViewModeForSearch">prop:~System.ItemNameDisplay;System.Size;~System.ItemPathDisplay</ms-ose:Property>
</ms-ose:PropertyDefaultValues>
</ms-ose:ResultsProcessing>
</OpenSearchDescription>
03. Grave o arquivo com a extensão .osdx (exemplo: “bing.osdx”).
04. Efetue um duplo clique no arquivo .osdx criado (observe que o arquivo possui um ícone diferenciado, indicando ser um conector de busca).
05. Clique no botão “Adicionar” para a pergunta sobre criar este conector de busca.
06. Pronto! Seu conector de busca já está criado! Para acessá-lo, entre no menu Iniciar -> Computador.
Veja que, ao lado esquerdo da janela, no “Favoritos”, consta o “Bing Image Search”. Basta clicar nele e começar a sua busca, como se fosse uma pesquisa simples pelo Windows!
Observe que criamos um arquivo com tags XML. O segredo está nos parâmetros criados dentro deste arquivo .osdx, que são reconhecidos pelo sistema operacional. Entre eles, os principais são:
- <ShortName>: nome para o conector de busca, que aparecerá visível na pesquisa do Windows.
- <LongName>: nome completo para o conector de busca, que não necessariamente precisa ser idêntico ao ShortName.
- <Url type … template>: um dos principais parâmetros. É neste parâmetro que definimos a URL do servidor de busca compatível com a busca federada do Windows.
Mais um exemplo. Desta vez, vamos criar um arquivo para o Twitter. Siga os mesmos passos anteriores, porém colando o seguinte texto:
<?xml version="1.0" encoding="UTF-8"?>
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/"
xmlns:ms-ose="http://schemas.microsoft.com/opensearchext/2009/">
<ShortName>Search all Tweets</ShortName>
<Description>OpenSearch for Twitter</Description>
<Url type="application/rss+xml"
template="http://search.twitter.com/search.atom?q={searchTerms}&rpp=50#"/>
</OpenSearchDescription>
Já existem vários sites distribuindo conectores de busca, para uso pela busca federada do Windows 7. Estou disponibilizando um pacote contendo os seguintes:
- Flickr
- YouTube
- Google News
- Google Blogs
- Yahoo Search
- MSN Search
- Amazon
- eBay
- Live Search
- DeviantArt
- Wikipedia
- Redmond Pie
Clique aqui para fazer o download do pacote diretamente no meu blog.
Note que esse recurso é exclusivo do Windows 7, portanto não adianta tentar utilizá-lo em versões anteriores do Windows. Outro detalhe importante é que nem todos os sites de busca são compatíveis com a Busca Federada, pois o servidor precisa ser configurado exclusivamente para isso.
Aproveite esse recurso, pois ele chegou para facilitar a vida do usuário. É bem provável que ele permaneça nas próximas versões do Windows e que outros programas façam uso dele.