Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> slowa kluczowe
regis87
post
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.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
batman
post
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.

  1. <?php
  2. $sql = "select * from tabarticle where idarticle = ".$idarticle." and skeywords like ';".$zmienna.";'";
  3. ?>


W zmiennej $zmienna zawiera szukane słowo.
Go to the top of the page
+Quote Post
regis87
post
Post #3





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 9.11.2003

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


Cytat(batman @ 17.08.2006, 08:21 ) *
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.
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 10.10.2025 - 23:25