Podpowiedzi w wyszukiwarce i PHP
Posted on kwiecień 20th, 2008 in php, programowanie | No Comments »
Podpowiedzi w stylu googlowego „Czy chodziło Ci o” to napewno przydatny dodatek do wyszukiwarki. Omówię dzisiaj w skrócie najprostszy znany mi sposób stworzenia takiego mechanizmu. Będziemy potrzebować: PHP4 lub późniejszy z biblioteką pspell. Niestety nie na każdym serwerze hostingowym pspell jest dostępny w standardzie. Na szczęście nie jest on taki rzadki.
Najpierw musimy stworzyć słownik słów użytych na stronie. Poniższy kod dodaje jedno słowo $word do słownika.
-
$pspell_config = pspell_config_create("pl");
-
pspell_config_personal($pspell_config, "./sugestie2.slownik");
-
$pspell_link = pspell_new_config($pspell_config);
-
pspell_add_to_personal($pspell_link, $word); // dodajemy słowo do słownika
-
pspell_save_wordlist($pspell_link);
Oczywiście gdy chcemy dodać więcej słów, wystarczy użyć pętli.
W poniższym kodzie dosyć istotna jest linia 3. Funkcja pspell_config_dict_dir wymusza na pspellu użycie tylko i wyłącznie naszego słownika. Bez niej funkcja pspell_suggest w wyniku zwróciłaby wszystkie polskie słowa podobne do tego, które zostało wpisane w wyszukiwarkę.
-
$pspell_config = pspell_config_create("pl");
-
pspell_config_dict_dir($pspell_config, "~/public_html/slownik/");
-
pspell_config_personal($pspell_config, "./sugestie2.slownik");
-
$pspell_link = pspell_new_config($pspell_config);
-
-
$suggestions = pspell_suggest($pspell_link, $word);
-
foreach ($suggestions as $suggestion) {
-
echo "Być może chodziło Ci o: $suggestion<br />";
-
}