![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 83 Pomógł: 0 Dołączył: 29.06.2003 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
Stworzenie prostej wyszukiwarki opartej na Mysql wraz z porcjowaniem zapytań z pewnociš nie sprawia żadnego problemu. Problem pojawia się gdy chcem stworzyć wyszukiwarkę z mechanizmem podobnym do wyszukiwarki google. A konkretnie o sortowanie wyników według trafnoci wyszukiwania. Gdy mamy dla przykładu bazę:
1: warszawa, stolica, polska, unia 2: polska, ue, unia 3: poznan, krakow, szczecin, ue Gdy wyszukujemy słowa (polska, ue, unia), jako pierwsze powinno pokazac sie 2,1,3. Po rozbiciu frazy na słowa, sam kod jest kombinacjš tych słów:
W ten sposób powstało mi 5 poleceń i wystarczy pokazać rekordy które odpowiadajš $kat1, $kat2, $ka3,... . Czy jest jaki inny sposób na stworzenie wyszukiwarki która zwróci rekordy według trafnoci. Z 3 słowami można sobie jeszcze poradzić, ale gdy użytkownik wpisze np. 5 słów do wyszukania to kombinacja tych słów stworzy sporš liczbę poleceń SQL. -------------------- giełda szczecin
|
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 50 Pomógł: 0 Dołączył: 15.02.2003 Skąd: Ziemia Ostrzeżenie: (0%) ![]() ![]() |
jest takie zapytanie SQL
MATCH .... AGAINST coprawda nie jest doskonale bo jesli pytana fraza znajduje sie w wiecej niz 50% rzedow pytanej columny zwraca 0. -------------------- Warsztat: IIS 6.0 | PHP 4.3.10 && 5.0.3 | MySQL 4.1.9 | Smarty 2.6.7 | PEAR | EditPlus 2 Produkcja: FlipTiM |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 189 Pomógł: 0 Dołączył: 4.07.2004 Skąd: z neostrady Ostrzeżenie: (0%) ![]() ![]() |
Zastosuj wagi w zapytaniu, i wynik sortuj na podstawie tych wag. Ma to jeszcze tą zaletę, że możesz na przykład dać wyższą wagę dla tytuły dokumenty, a niższą np. do jego treści. I w ten sposób w jednym zapytaniu SQL stworzysz zaawansowaną wyszukiwarkę z sortowaniem wyników:
Jak się przez ten przykład przegryziesz to wszystko będzie jasne. Szukaliśmy słów "forum php" w polach Title i Contents (Title ma wyższą wagę) -------------------- pozdrawiam, Adam Kubiczek
kubiczek.eu |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 13:03 |