Join MDN and developers like you at Mozilla's View Source conference, 12-14 September in Berlin, Germany. Learn more at https://viewsourceconf.org

Podpora_našeptávače_ve_vyhledávacích_modulech

 

MozSearch podporuje při vyhledávání našeptávání. Jak uživatel zadává hledanou frázi v poli vyhledávání, Firefox 2 se dotazuje speciální URL adresy uvedené ve vyhledávacím modulu na odpovídající návrhy.

Při obdržení tohoto seznamu zobrazí seznam pod polem vyhledávání a dá uživateli možnost si z odpovídajících návrhů vybrat. Pokud uživatel pokračuje v zadávání, je odeslán nový požadavek na odpovídající návrhy. Po přijetí je seznam aktualizován.

Ve Firefoxu 2 podporují našeptávání vyhledávací moduly Google a Yahoo.

Implementace podpory našeptávání ve vyhledávacím modulu

Pro podporu našeptávání vyhledávací modul potřebuje definovat <Url> element navíc s atributem type nastaveným na "application/x-suggestions+json". (To znamená, že vyhledávací modul s podporou našeptávání bude mít dva elementy <Url>. Tím druhým bude hlavní text/html s URL pro vyhledávání.)

Například vyhledávací modul Yahoo má tuto <Url> položku:

<Url type="application/x-suggestions+json" template="http://ff.search.yahoo.com/gossip?output=fxjson&command={searchTerms}"/>

Pokud uživatel zadá do pole vyhledávání "fir" a přestane psát, Firefox vloží "fir" na místo {searchTerms} v dotazu na URL:

<Url type="application/x-suggestions+json" template="http://ff.search.yahoo.com/gossip?output=fxjson&command=fir"/>

Výsledkem použití této konstrukce je našeptávání v poli vyhledávání.

Pro informace, jak vytvořit vyhledávací modul ve formátu MozSearch, se podívejte do článku Vytváření vyhledávacího modulu MozSearch.

Implementace podpory našeptávání na straně serveru

Hlavní část našeptávání je aktuálně implementována na straně serveru. Pokud jste webový vývojář a chcete podporovat našeptávání, potřebujete implementovat podporu pro navracení odpovídajících frází v JavaScript Object Notation (JSON).

Když prohlížeč chce získat odpovídající návrhy pro vyhledávaný výraz, pošle HTTP GET požadavek na URL adresu uvedenou v elementu <Url>.

Váš server by měl rozhodnout, jaké návrhy nabídne k použití (dle svého uvážení) a zkonstruovat JSON, který se skládá z dvou až pěti elementů:

řetězec s dotazem
První element v JSON je originální řetězec s dotazem. To umožní Firefoxu ověřit, zda návrhy odpovídají aktuálně zadané frázi pro vyhledávání.
seznam návrhů
Pole s návrhy pro našeptávač. Pole by mělo být uvedeno v hranatých závorkách. Například ["term 1", "term 2", "term 3", "term 4"]
popisy
Tento volitelný element je pole popisů pro každý návrh v seznamu. Může obsahovat jakoukoliv další informaci, kterou vyhledávací modul může chtít po návratu zobrazit v prohlížeči stejně, jako třeba počet výsledků dostupných pro vyhledávání dané fráze.
Popisy nejsou podporovány ve Firefoxu 2 a pokud jsou uvedeny, jsou ignorovány.
URL parametry
Tento volitelný element je pole alternativních URL pro každý návrh v seznamu. Pokud chcete například nabídnout mapu odkazů místo pouhých výsledků vyhledávání pro daná návrh, chcete v tomto poli navrátit URL do mapy.
Pokud neuvedete vyhledávací URL, je použita výchozí URL popsaná v elementu <Url> v popisu XML vyhledávacího modulu.
Vyhledávací URL nejsou ve Firefoxu 2 podporovány a při uvedení jsou ignorovány.

Pokud je dotazováno na výraz "fir" a vy nepotřebujete navracet popisy či alternativní vyhledávací URL, získáte následující JSON:

["fir", ["firefox", "first choice", "mozilla firefox"]]

Berte prosím v potaz, že toto je příklad, kde je uveden pouze vyhledávaný řetězec a návrhy bez volitelných elementů.

Váš seznam může obsahovat tolik návrhů, kolik chcete, ale navracejte jich jen tolik, aby byly spravovatelné a korektně zobrazitelné uživateli, když vyhledává. Metoda, jakým způsobem budete vybírat návrhy, je čistě na vás.

Document Tags and Contributors

Štítky: 
 Contributors to this page: fscholz, JasnaPaka, Pawell
 Last updated by: fscholz,