Ze świecą szukać… dobrej wyszukiwarki

Niezależnie od tego czy prowadzimy zwykłego bloga, forum, rozbudowany serwis, czy sklep z zakupami online, praktycznie zawsze oferujemy użytkownikom możliwość przeszukiwania zasobów naszej strony. Jakimi wytycznymi należy kierować się podczas implementacji wyszukiwarki na stronie internetowej?

z13925575Q,Dziewczyna-z-lupa

 

Zależnie od funkcjonalności udostępnianej przez nasz serwis, wyszukiwarka będzie różnić się wyglądem, zakresem danych, które będą przeszukiwane oraz użytymi narzędziami, ale jej cel pozostaje zawsze ten sam – ma umożliwić użytkownikowi szybkie znalezienie potrzebnych elementów.

 

 

Z punktu widzenia użytkownika ważne jest, aby wyszukiwarka:

kropka   Zwracała tylko interesujące go dane, pasujące do wpisanej przez niego frazy. Jest to raczej oczywista rzecz – jeśli szukam notebooka firmy „x”, to na pewno nie chcę oglądać pralek firmy „y”

kropka   Wyniki powinny być posortowane od najbardziej do tych najmniej trafnych. Wyniki, w których żądana fraza występuje najwięcej razy lub występuje w polu z największą wagą powinny być na początku listy, na końcu zaś wyniki najmniej pasujące, w których wyszukiwana fraza występuje tylko częściowo.

kropka   Czas oczekiwania na wynik wyszukiwania nie może być zbyt długi. To zniechęca użytkowników do naszej strony, dlatego należy zadbać o odpowiednią optymalizację jej działania

kropka   Wyszukiwanie po wielu polach, pola powinny mieć ustawione odpowiednie wagi, od najbardziej po te mniej istotne. Przykład dla wyszukiwania produktów, nazwa produktu powinna mieć wyższą wagę niż jego opis.

kropka   Była umiejscowiona w dobrze widocznym miejscu. Jej wygląd powinien sugerować, że to właśnie wyszukiwarka np. przez umieszczenie odpowiedniego tekstu lub na przykład symbolu lupy

praca-przed-komputerem-grozi-zawalem

Ponadto dużym atutem będzie, jeśli wyszukiwarka:

kropka   Obsługuje korektę błędów. Jeśli użytkownik zrobi błąd wpisując frazę np „czerwoma tprebka” powinien otrzymać wyniki dla frazy prawidłowej „czerwona torebka”, użytkownik będzie wiedział, że błąd został poprawiony, a czas, który poświęciłby na korektę został zaoszczędzony.

kropka   Obsługuje polskie znaki diakrytyczne – „ą, ć, ę, ł, ń, ó, ś, ź, ż ”. Problem podczas wyszukiwania może stanowić fakt, iż nie wszyscy takich znaków używają. Z punktu widzenia użytkownika najbardziej optymalnym rozwiązaniem będzie wyświetlenie wyników zarówno jeśli wpisze frazę poprawnie „łabędź” czy też „labedz”

kropka   Obsługuje odmianę wyrazów. Jest to udogodnienie, dzięki któremu ilość znalezionych wyników będzie większa. Jeśli użytkownik wpisze frazę „drukowanie”, to w wynikach pojawią się słowa zawierające odmianę tego czasownika „drukuj”, „druk”, „drukować” itd.

 

Opisywany mechanizm odmiany wyrazów tworzy się przy użyciu słowników ispell/aspell. Każdy z wyrazów znajdujących się w słowniku posiada podstawową formę, która jest używana przy budowie indeksu. Dla rzeczowników będzie to sprowadzenie słowa do mianownika liczby pojedynczej. Zabieg taki nosi nazwę Lematyzacji.

Przykład:

Dla rzeczownika „dworca”, mianownik liczby pojedynczej będzie brzmieć „dworzec”

Czasem nie jest możliwe sprowadzenie wyrazu do takiej formy. W takim przypadku stosuje się proces nazwany Stemming’iem. Polega on na sprowadzeniu wyrazu do tzw. rdzenia, który może nie być poprawnym słowem.

Przykład:

Dla słowa „lekarz” takim rdzeniem będzie słowo „lekar”, wyraz nieistniejący, ale dzięki takiemu zabiegowi będzie możliwe wyszukania tekstów zawierających frazy „lekarski”, „lekarskie” itd

 

 

kropka   Możliwość dalszego zawężania wyników przez mechanizm filtrów (wyszukiwarki zaawansowanej),

 

Dla dużej ilości wyników mechanizm dalszego zawężania wyników – ich filtrowania, może okazać się elementem bardzo pożądanym.

Przykład:

Załóżmy, że poszukujemy w bardzo dużym sklepie internetowym notebooka. Po wpisaniu słowa notebook znaleźliśmy 500 pozycji, ale interesują nas tylko te, które mają: minimum 6GB pamięci RAM, przekątna ekranu 15-17 cali. Po wybraniu takich parametrów w dodatkowych filtrach, na liście wyszukiwania zostaje dużo mniejsza liczba notebooków, którymi jesteśmy zainteresowani.

 

Dodatkowe dobre techniki:

kropka   Nie powinniśmy wyszukiwać po spójnikach, znakach specjalnych itp oraz nie powinniśmy wyszukiwać po zbyt krótkich słowach typu „w”, „na”, itd.

kropka   W indeksie powinny znaleźć się tylko słowa mające wpływ na treść, pozostałe mogą „zaszumiać” wyniki wyszukiwania.

 

Wytyczne, którymi należy kierować się podczas implementacji wyszukiwarki na stronie internetowej nie powinny już stanowić dla nas żadnego problemu. Jakie narzędzia natomiast należy wykorzystać do samej jej budowy? O tym w kolejnej części artykułu.

Tagi:

O Autorze

Wojciech Parada

Projektant PHP w Grupie Unity. Wcześniej doświadczenie zawodowe zdobywał jako programista PHP w Empathy Internet Software House oraz w Agencji Interaktywnej Krakweb.pl. Absolwent Wyższej szkoły zarządzania i bankowości oraz studiów magisterskich na Akademii Górniczo-Hutniczej w Krakowie na kierunku Informatyka. W wolnych chwilach wędkuje i czyta fantastykę.

Back to Top