![]() |
![]() |
![]() ![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 1 012 Pomógł: 109 Dołączył: 26.09.2003 Skąd: nexis.pl Ostrzeżenie: (0%) ![]() ![]() |
Tabela z produktami ma następującą postać:
Obecnie wyszukiwarka działa na następującym zapytaniu:
Ale dobrze wiem, że nie jest to najlepsze rozwiązanie. Macie jakiś pomysł jak mogę to rozbudować? -------------------- |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 116 Pomógł: 119 Dołączył: 10.05.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Ogólnie rzecz ujmując nie jest źle, problemy pojawią się przy większej liczbie danych do przeszukania.
1. Ja w takich przypadkach robię w ten sposób, że rozdzielam zapytanie. Najlepiej zrobić w ten sposób, aby w formatce wyszukiwarki znalazło się checkbox'y, określające, które dokładnie dane użytkownik ma znaleźć i potem po stronie PHP to obrobić tak aby tylko te zaznaczone kolumny przeszukiwał. Z doświadczenia wiem, że użytkownik rzadko chce przeszukać wszystko lecz jeśli szuka producenta to zaznacza checkbox `producer`, natomieast jeśli chce znaleźć produkt szuka po `prid`... itd Jeśli przeszukiwana jest większa liczba kolumn to robię przeszukiwanie kaskadowo, czyli na początek biorę te kolumny które mają statystycznie najmniejszą liczbę znaków do przeszukania, potem wiecej i na końcu te kolumny, które mają największą statystyczną liczbę znaków. U Ciebie zrobiłbym to tak:
2. Czasem i to nie wystarcza, wtedy warto zastanowić się nad kaszowaniem wyników i prowadzeniu statystyk. Np może się okazać, że użytkownicy najcześciej wpisują pełną nazwę producenta (np HP) to warto taki wynik wyszukiwania wrzucić do jakiegoś pliku i potem gdy kolejny użytkownik będzie chciał to znaleźć pobierze wartość się z pliku a nie, poprzez kolejne długie zapytanie, z bazy danych. Oczywiście tu tylko naświetliłem problem, bo skomplikowanie statystyk zależy tylko i wyłącznie od Ciebie. 3. Być może dobrym rozwiązaniem jest skorzystanie już z gotowych mechanizmów odzyskiwania danych. Dość dobrym rozwiązaniem jest YAZ zapoznaj się z dokumentacją, poszperaj na ten temat w sieci powinieneś być zadowolony 4. Możesz tak zindeksować swoją stronę aby sam google.com pomógł Ci przeszukiwać informacje. Często jest to dobry sposób, jednak w Twoim przypadku mogą być problemy z tego względu że Ty wyszukujesz konkretne dane z bazy danych, a algorytmy googla dobrze działają na same teksty. Dobre byłoby to rozwiązanie, gdybyś na przykład chciał przeszukiwać artykuły na Twojej stronie za pomocą googla, a nie wyszukiwać produkty. mam nadzieje, że coś naświetliłem Pozdrawiam |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 07:34 |