![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 61 Pomógł: 6 Dołączył: 15.07.2009 Skąd: Śląsk->Ruda Śląska Ostrzeżenie: (0%) ![]() ![]() |
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.
|
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 27 Pomógł: 9 Dołączył: 9.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
Zainteresuj się wyszukiwaniem pełnotekstowym
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 61 Pomógł: 6 Dołączył: 15.07.2009 Skąd: Śląsk->Ruda Śląska Ostrzeżenie: (0%) ![]() ![]() |
bardzo ciekawe to wyszukiwanie pełnotekstowe, nie wiedziałem o istnieniu takowego (IMG:http://forum.php.pl/style_emoticons/default/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 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
http://www.beldzio.com/czy-chodzilo-ci-o-%...6-czyli-n-gramy
Jak pokombinujesz to łatwiej będzie ci sporządzić wyszukiwarkę. Ten post edytował wookieb 19.07.2009, 14:27:08 |
|
|
![]()
Post
#5
|
|
Grupa: Przyjaciele php.pl Postów: 1 202 Pomógł: 117 Dołączył: 13.04.2007 Skąd: 127.0.0.1 Ostrzeżenie: (0%) ![]() ![]() |
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! |
|
|
![]() ![]() |
![]() |
Aktualny czas: 25.08.2025 - 21:00 |