![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 36 Pomógł: 0 Dołączył: 9.11.2003 Ostrzeżenie: (0%) ![]() ![]() |
Chcialbym stworzyc system slow kluczowych w stylu np. youtube.com, pudelek.pl (moj faworyt:P) i wielu wielu innych sajtow - duzo sie tego porobilo. W skrocie chce takiej funkcjonalnosci, zeby artykuly mialy przypisywane recznie slowa kluczowe i aby potem na podstawie slow kluczowych wyszukiwac artykuly podobne, tworzyc indeksy wszystkich artykulow z przypisanym danym slowem etc.
Platforma to mysql. Jaka strukture bazy slow kluczowych wybrac? Czy do kazdego artykulu robic jedno pole tekstowe po prostu z oddzielonymi spacjami keywordami i stworzyc na tym polu indeks fulltext, czy tez raczej zrobic wielka baze relacji id|slowo|artykul, czyli np. dla artykulu o ID 15 rekordy: Kod id | slowo | artykul ---+-----------+--------- 11 | pieniądze | 66 12 | biznes | 66 13 | waluta | 66 14 | dulary | 66 Nieee wiem czy to nie powinno trafic do dzialu o mySQL, ale to nie jest tylko kwestia bazy - chodzi mi rowniez o to jak na platformie php potem w sposob wygodny i wydajny to obslugiwac. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 ![]() |
Możesz stworzyć w bazie tabelę o następujących polach:
- idkeyword (int) - idarticle (int) - skeywords (text) W polu keywords przechowujesz słowa kluczowe w następującej formie: ;slowo1;slowo2;slowo3; itd. Aby sprawdzić czy szukane przez użytkownika słowo jest przypisane do danego artykułu w zapytaniu SQL uzywasz like.
W zmiennej $zmienna zawiera szukane słowo. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 36 Pomógł: 0 Dołączył: 9.11.2003 Ostrzeżenie: (0%) ![]() ![]() |
W polu keywords przechowujesz słowa kluczowe w następującej formie: ;slowo1;slowo2;slowo3; itd. Aby sprawdzić czy szukane przez użytkownika słowo jest przypisane do danego artykułu w zapytaniu SQL uzywasz like. Like to zabojstwo, to chyba nie jest droga - juz lepiej fulltext (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) dr_bonzo Brzmi logicznie, to powinno byc najwydajniejsze rozwiazanie. Fulltext jest chyba prostszy do wdrozenia, ale napewno proste indeksy na INT beda wydajniejsze no i oszczedzimy sporo miejsca. Dzieki. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 10.10.2025 - 23:25 |