Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyszukiwanie zaawansowane (coś jak na googlach)
Forum PHP.pl > Forum > PHP
pasTerzu
Mam problem mianowicie potrzebuje zrobić wyszukiwanie w bazie danych gdzie znajdują się różne firmy np. ktoś chce sprawdzić czy jest rekord o nazwie "Urząd miasta opole" ale w bazie jest "urząd miasta opola" - user wpisuje w wyszukiwarce "opole" no i niestety nie znajduje nic - w jaki sposób można zabrać się do zrobienia takiej wyszukiwarki która była by w stanie podołać temu zadaniu (nie chce gotowych rozwiązań wszak jak ktoś ma to chętnie) będę wdzięczny za wskazówki. THX
php programmer
Ja to widze tak:

1. Sprawdzasz najpierw, czy ilość wyników
standardowego zapytania jest mniejsza od ilości
krytycznej np musi być minimum trzy wyniki.

2. Jeśli jest mniej niż trzy wyniki to
dla każdego wyrazu sprawdzasz czy ma conajmniej
ileś tam liter np 7 liter (zazwyczaj wyrazy które podlegają
odmianie są dłuższe). Dla każdego wyrazu dłużego niż 7 liter
obcinasz końcówkę, powiedzmy 3 litery.

3. Wywołujesz ponownie zapytanie lecz z poucinanymi wyrazami

PS. Ewentualnie możesz dowiedzieć się
jakie końcówki występują najczęściej w odmienianych wyrazach
(ów, ego, nia, ci, ej, itd)
i w przypadku znalezienia popularnej końcówki
uciąć ją (o ile ta końcówka rzeczywiscie znajduje sie na końcu
a nie np w środku wyrazu)
pasTerzu
hmmm dzieki - a jakies inne moze pomysly ktos ma questionmark.gif
Athlan
Jeżeli chodzi o bazę danych to zaytanie warunkowe
"WHERE costam LIKE %".$szukana fraza."%"
w zupełności powinno wystarczać
ergo
Cytat(Athlan @ 14.07.2006, 18:10 ) *
Jeżeli chodzi o bazę danych to zaytanie warunkowe
"WHERE costam LIKE %".$szukana fraza."%"
w zupełności powinno wystarczać


z tego gdzie wszedzie mozna poczytac to like zabijaja bazy w takiej postaci jak ty to napisales, ja bym sie rozejrzal za indeksowaniem pelnotekstowm i po sprawie.
pasTerzu
Cytat(Athlan @ 14.07.2006, 18:10 ) *
Jeżeli chodzi o bazę danych to zaytanie warunkowe
"WHERE costam LIKE %".$szukana fraza."%"
w zupełności powinno wystarczać


no bez jaj biggrin.gif nie po to pisałem temat zeby taka odp dostac (jak dla nooba) winksmiley.jpg

Będę bawił się tym indeksowaniem dzięki za podpowiedź. smile.gif


hmm a mozesz dokladniej opisac co masz na mysli ? mi zalezy na tym aby wyszukiwarka szukala odmiany wyrazow nawet (w bazie jest OPOLE a ktos wpisze OPOLA i znalezc powinien) da sie tak zrobic questionmark.gifquestionmark.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.