Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> zaawansowana wyszukiwarka, jak wyszukiwac by obliczyc trafnosc ...
ElemenT
post
Post #1





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 29.03.2003
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Witam

Mam nastepujacy problem.

Tabela SQLowa z tekstami oraz tabela ze slowami indeksowymi.
Slowa indexowe tworza sie podczas dodawania tekstu do bazy, wywalane sa niepotrzebne znaki oraz slowa nie znaczace nic podczas wyszukiwania (np, a, lub itp), dodatkowo obliczana jest ilosc wystapienia danego slowa w tekscie.

Sprawa wyszukania niby prosta.

Wpisujemy slowo np 'minister' i znajduje mi 30 tekstow posortowanych wg trafnosci (ilosc wystapien w tekscie). Wylistowanie wynikow.
Wszyskto pieknie.

Problem pojawia sie w momencie wpisania do wyszukiwarki 'minister kalisz wyjechal do moskwy'.
Obecnie program mam tak zrobiony ze szuka slowa minister, potem kalisz, podem wyjechal i na koncu moskwy.
I wyswietla wyniki, z tym ze nie wylatuja teksty gdzie np bylo 30 wystapien slowa minister a ani jednego kalisz, wyjechal i moskwy. A tekst w ktorym wszystkie te slowa wystepuja wyskakuje gdzies na koncu.

Zapytanie do bazki robi sie takie :
  1. SELECT cms_ure_searchwords.ile, cms_ure_searchwords.id, cms_ure_dzialy.nazwa, cms_ure_dzialy.wstep, cms_ure_dzialy.kat, cms_ure_dzialy.publikacja
  2. FROM cms_ure_searchwords,cms_ure_dzialy WHERE cms_ure_dzialy.id=cms_ure_searchwords.id AND cms_ure_searchwords.slowa IN ('minister','kalisz','wyjechał','moskwy') GROUP BY cms_ure_searchwords.id ORDER BY cms_ure_searchwords.ile DESC


Wyszukiwarka jest swietna jezeli ktos wyszukuje 1 slowo. Problem jest jak ktos szuka frazy.
Jak byscie zaprojektowali wyszukiwarke reagujaca na frazy, z uzyciem tabeli slow indeksowych i by byla wyliczana trafnosc ?

Ten post edytował ElemenT 13.05.2005, 14:42:16


--------------------
lighttpd 1.4.22 / PHP 5.2.9 / MySQL 5.0.51 at hostname.pl
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 16:24