deha21
16.11.2011, 09:45:24
Chcę na stronie zrobić ramkę "Zobacz też" przy każdym newsie. W ramce byłyby prezentowane 3 podobne tematycznie inne wiadomości. Oparte miałoby to być na tagach, tak chyba najłatwiej. W każdym newsie mam pole 'tagi' i tam wypisuje je po przecinku. Jak zrobić żeby spośród tych tagów wybierało te ważniejsze (czyli te które są napisane w pierwszej kolejności) i wg nich szukało w bazie innych newsów, które mają ten sam tag gdzieś na początku. Sortowane były od najnowszych. Jak ułożyć zapytanie żeby wybierało najbardziej trafne tematy pokrewne? Chyba nie ma sensu stosować wyszukiwania full text na tagach/tytule?
phpion
16.11.2011, 09:50:22
Jeśli tagi zapisujesz jako ciąg znaków to jesteś w niezbyt dogodnej sytuacji. Użytkownik może podać je w formie tekstu, ale Ty powinieneś rozbić je na pojedyncze tagi i zapisywać do osobnej tabeli (w sumie 2 tabel). Wówczas sprawa jest prostsza. Na chwilę obecną nie widzę lepszego rozwiązania niż wyciągnięcie pierwszego tagu i zrobienie LIKE.
Sephirus
16.11.2011, 13:12:45
Zgadzam się z @up - to w ogóle nie powinno być w ten sposób zrobione, że masz tagi w jednym polu po przecinkach. Dużo lepsze i wydajniejsze okazuje się utworzoenie osobnej tabelki tagów oraz tabeli wiązań - tak zwana relacja "n do n". Wtedy również możesz łatwo i sprytnie wygenerować chmurki tagów - co w twoim aktualnym kodzie jest nieco cięższe.
Moja propozycja - przerób to - zrób te dwie tabelki - tagi i powiązania. Przeleć całą bazę i powrzucaj odpowiednio tagi. Następnie zaktualizuj swój kod tak by przy dodawaniu newsa tworzył odpowiednie rekordy w tych tabelkach (bez duplikowania tagów).
Wyszukiwanie po czymś takim jest proste i daje zamierzone rezultaty.
thek
17.11.2011, 10:25:41
A ja proponuję tylko rozszerzenie tego co już ma. Niech zostawi to osobne pole z przecinkai, ale doda też tabelę z połączeniami n-n o której tu było wspomniane. Czemu? "Zobacz też" zrobi za chmurę tagów, ale pole z przecinkami można ująć w full-text searcha razem z treścią i tytułem oraz używać do wyszukiwań pełnotekstowych.
deha21
18.11.2011, 21:40:17
Pytanie czy full-text nie obciąży za bardzo bazy? Słyszałem że jest dosyć zasobożerne.
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.