Integracja wyszukiwarki serwisu z OpenSearch

OpenSearch to próba ustandaryzowania dostępu do wyszukiwania. Dla twórców stron internetowych daje to możliwość wyszukiwania na ich stronach poprzez np. interfejs przeglądarki, która obsługuje ten format (przeglądarka przekierowuje na wyszukiwarkę na twojej stronie z poprawnie przesłanymi danymi dla wyszukiwarki):

opensearch
Firefox umożliwia dodanie strony do listy wyszukiwarek i wyszukiwanie poprzez swój interfejs. Jeżeli dysponujemy dużym zbiorem, często przeszukiwanych danych to taka opcja może być bardzo poręczna.

Implementacja podstaw OpenSearch na własnej stronie

By użyć OpenSearch na własnej stronie potrzebujemy wyszukiwarki dla tejże strony przyjmującej poprzez POST lub GET szukaną frazę i zwracającą wyniki.

  • W sekcji HEAD strony umieść następujący "link":
    <link rel="search" type="application/opensearchdescription+xml" title="TYTUŁ STRONY" href="search.xml" />
    
    Podając ścieżkę do pliku search.xml i tytuł strony.
  • Plik search.xml ma postać typu:
    <SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/" xmlns:os="http://a9.com/-/spec/opensearch/1.1/">
    	<os:ShortName>NAZWA STRONY</os:ShortName>
    	<os:Description>OPIS STRONY</os:Description>
    	<os:InputEncoding>UTF-8</os:InputEncoding>
    	<os:Image width="16" height="16">data:image/png;base64,TREŚĆ_IKONY</os:Image>
    	<os:Url type="text/html" method="GET" template="URL_DO_WYSZUKIWARKI">
    		<os:Param name="NAZWA_POLA" value="{searchTerms}"/>
    	</os:Url>
    </SearchPlugin>
    
    Gdzie TREŚĆ_IKONY to base64 z pliku graficznego - ikonki wyszukiwarki (16x16 najlepiej max), URL_DO_WYSZUKIWARKI - pełen adres URL do strony z wynikami wyszukiwania/wyszukiwarki, NAZWA_POLA to nazwa parametru (pola w formularzu), do którego ma zostać przekazana szukana fraza.
  • Gotowy kod możemy przetestować dodając wyszukiwarkę w Firefoksie i próbując coś wyszukać :)
  • Szczegółowy opis standardu dostępny jest na opensearch.org
  • RkBlog

    Podstawy tworzenia stron www, 8 September 2009

Comment article
Comment article RkBlog main page Search RSS Contact