Wsparcie dla podpowiedzi wyszukiwania w wyszukiwarkach

MozSearch wspiera podpowiedzi wyszukiwania; gdy użytkownik wprowadza dane w panelu wyszukiwania, Firefox 2 przesyła zapytanie do adresu URL określonego przez wtyczkę wyszukiwarki, aby dostarczyć dynamiczne podpowiedzi wyszukiwania.

Gdy lista zostanie dostarczona, może ona być wyświetlona w wyskakującym okienku (popup), które pojawia się pod panelem wyszukiwania i pozwala użytkownikowi wybrać jeden z sugerowanych wyników. Jeśli użytkownik będzie kontynuował wpisywanie, zażądany zostanie nowy zestaw podpowiedzi z silnika wyszukiwarki i zastąpi on obecnie wyświetlaną listę.

Wtyczki wyszukiwania Yahoo i Google dołączone z Firefoksem 2 obsługują podpowiedzi wyszukiwania.

Implementowanie obsługi podpowiedzi we wtyczkach wyszukiwarek

Aby obsługiwać podpowiedzi wyszukiwania, wtyczka musi posiadać zdefiniowany dodatkowy element <Url> wraz z atrybutem type ustawionym na "application/x-suggestions+json" (oznacza to, że wtyczka wyszukiwarki obsługująca podpowiedzi będzie mieć dwa elementy <Url>, z których jeden jest głównym adresem URL typu text/html i odpowiada za wyszukiwarkę).

Na przykład, wtyczka wyszukiwarki Yahoo posiada taki wpis <Url>:

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

Jeśli użytkownik wprowadzi "fir" w panelu wyszukiwania, po czym się zatrzyma, Firefox umieści "fir" w miejsce {searchTerms} i wyśle zapytanie do takiego adresu URL:

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

Wyniki są używane do stworzenia okienka z listą podpowiedzi.

Zobacz Tworzenie wtyczek MozSearch, aby dowiedzieć się więcej o tym, jak zaimplementować wtyczkę wyszukiwarki.

Implementowanie obsługi podpowiedzi na serwerze

Większość z obsługi podpowiedzi wyszukiwania jest obecnie implementowane po stronie serwera. Jeśli jesteś projektantem strony internetowej i chcesz wspierać podpowiedzi wyszukiwania, musisz zaimplementować obsługę zwracania podpowiedzi w Notacji Obiektu JavaScript (JavaScript Object Notation - JSON).

Gdy przeglądarka chce otrzymać możliwe wyniki dla szukanego wyrażenia, wysyła ona żądanie HTTP GET do adresu URL określonego w elemencie <Url>.

Wtedy Twój serwer powinien wybrać podpowiedzi, które jego zdaniem pasują do określonych warunków wyszukiwania i stworzyć JSON, który składa się z co najmniej dwóch i co najwyżej z czterech elementów:

łańcuch zapytania
Pierwszy element w JSON jest oryginalnym łańcuchem znaków zapytania. Pozwala to Firefoksowi zweryfikować czy podpowiedzi odpowiadają obecnym warunkom wyszukiwania.
lista dopełnienia
Tablica sugerowanych warunków wyszukiwania. Tablica powinna być ograniczona nawiasami kwadratowymi. Na przykład: <tt>["warunek 1", "warunek 2", "warunek 3", "warunek 4"]</tt>
opisy
Ten opcjonalny element jest tablicą, składającą się z opisów dla każdej podpowiedzi określonej w elemencie lista dopełnienia. Mogą to być dodatkowe informacje, które silnik wyszukiwarki może zwrócić do wyświetlenia przez przeglądarkę, jak na przykład ilość wyników dostępnych dla tego wyszukiwania.
Opisy nie są obsługiwane w Firefoksie 2 i w przypadku ich zdefiniowania są one ignorowane.
adresy URL zapytania
Ten opcjonalny element jest tablicą alternatywnych adresów URL dla każdej podpowiedzi w elemencie lista dopełnienia. Na przykład, jeśli chcesz zaproponować mapę odnośników zamiast strony z wynikami wyszukiwania dla podanej podpowiedzi, możesz w tej tablicy zwrócić adres URL do mapy.
Jeśli nie określisz adresu URL zapytania, użyte zostanie domyślne zapytanie oparte na wyszukiwarce opisanej przez element <Url> w opisie XML wtyczki wyszukiwania.
Element "adresy URL zapytania" nie jest obsługiwany w Firefoksie 2 i jest ignorowany.

Na przykład, jeśli wyrażeniem wyszukiwania jest "fir" i nie zwracasz opisów i alternatywnych adresów URL zapytania, możesz zwrócić następujący JSON:

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

Zauważ, że w tym przykładzie określony jest tylko łańcuch zapytania i lista dopełnienia, z pominięciem elementów opcjonalnych.

Twoja lista dopełnienia może zawierać tyle wiele podpowiedzi, ile tylko chcesz, jednak powinna ona być łatwa w obsłudze, zwłaszcza że będzie ona dynamicznie uaktualniana podczas wpisywania przez użytkownika słów do wyszukania. Ponadto metoda, której będziesz używał do wyboru podpowiedzi, zależy wyłącznie od Ciebie.

Autorzy i etykiety dokumentu

 Autorzy tej strony: Mgjbot, Ptak82, Diablownik
 Ostatnia aktualizacja: Mgjbot,