Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL] implementacja wyszukiwarki
Forum PHP.pl > Forum > Przedszkole
planet
Witajcie! Chcę sobie napisać własny moduł wyszukiwania treści na stronie. Szukałem jakiś ciekawych i wydajnych rozwiązań na forum, ale nic interesującego nie udało mi się znaleźć. Wyszukiwarka miałaby przeszukiwać różne tabele, powiedzmy galerie, pagecontent, artykuły, newsy. Jednak chciałbym postawić na jakieś dosyć wydajne rozwiązanie, dopasowywanie powiedzmy 15-20 pól [oczywiście można próbować zawężać, ale przyjmijmy sytuację krytyczną, że ktoś wybierze opcję "cały serwis"] za pomocą LIKE trochę mnie przeraża. Patrzałem jak mechanizm wyszukiwania jest zrobiony w phpBB i tam jest tablica, która przechowuje każde słowo w osobnym rekordzie i wszystko jest wiązane za pomocą ID. Jednak to rozwiązanie zajmuje sporą ilość miejsca w bazie danych. Jakie macie pomysły na jakieś wydajne rozwiązanie takiej wyszukiwarki. Każde sugestie/propozycje/pomysły będą jak najbardziej mile widziane.
tmka
Zainteresuj się wyszukiwaniem pełnotekstowym
planet
bardzo ciekawe to wyszukiwanie pełnotekstowe, nie wiedziałem o istnieniu takowego smile.gif w uwagach końcowych wyczytałem jednak, że wyszukiwanie pełnotekstowe jest "wolne i kosztowne", ciekawe jak się to ma do standardowego LIKE. Trzeba będzie zrobić test smile.gif
wookieb
http://www.beldzio.com/czy-chodzilo-ci-o-%...6-czyli-n-gramy

Jak pokombinujesz to łatwiej będzie ci sporządzić wyszukiwarkę.
ayeo
Witam!

Na stronie masz różne treści. Są artykuły, newsy, zdjęcia, kategorie... nie wiem co jeszcze. Najprościej zrobić sobie tzw index. Robisz sobie dwie dodatkowe tabele. Tabelkę z wyrazami i tabelkę z relacjami (wyraz->element). Jednym zapytaniem (HAVING) możesz pobrać elementy, które zawierają wszystkie zadane słowa jednocześnie.

Pozdrawiam!
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.