Więc biegnę małych witryn wideo i na rzeczywistej stronie filmu znajduje się listwa z „podobnych filmów” podobny do większości stron wideo (np YouTube) i obecnie wszystko, co robię, polega na losowym wybraniu jednego z tagów i znalezieniu innych filmów z tym samym tagiem. Nic dziwnego, że nie jest to świetna metoda, ponieważ niektóre tagi są bardzo niejasne, a niektóre filmy są źle oznakowane.Szukasz porad na „Podobne filmy” zapytania o znakowanym systemu wideo
Przykład bieżącego zapytania:
SELECT video_name FROM videos INNER JOIN videotags ON videos.id=videotags.video_id INNER JOIN tags ON tags.id=videotags.tag_id WHERE tag_name='x' AND videos.id<>'y' LIMIT 5
gdzie X oznacza dowolny jeden znaczników z bieżącego obrazu i Y oznacza identyfikator z aktualnego obrazu. (PS: Używam sparametryzowanych kwerend nie martw)
Jestem tylko ciekaw, jak wszyscy by sobie z tym poradzić, może lepiej byłoby włączenie podobnych tytułów wideo?
Oto jak moje tabele bazy danych są ustawione:
VIDEOS TABLE
------------
video_id [PK,auto_increment] int(11)
video_name varchar(255)
TAGS TABLE
----------
tag_id [PK,auto_increment] int(11)
tag_name varchar(255)
VIDEOTAGS TABLE
---------------
tag_id [PK,FK] int(11)
video_id [PK,FK] int(11)
Jest oczywiście więcej kolumn w tabeli filmów, ale to właśnie ilustruje prosty wiele-do-wielu relacji z kluczy podstawowych autoinkrementacja po obu stronach
strona jest zbudowana na PHP z bazą danych MySQL, ale to naprawdę nie ma znaczenia :)
EDIT: Nastąpiła jakaś rozmowa iść w dół trasą organiczny więc postać Opublikuję pozostałe dwie tabele, które są częściowo powiązane z widokami filmów i ocenami filmów wideo. Teraz pamiętać, że nie ma żadnego zamiaru dodając więcej kolumn specjalnie do stołu wyświetleń filmu z powodu kwestii prywatności (tak wiem przechowywania adresów IP w tabeli znamionowej)
VIDEOVIEWS TABLE
----------------
video_id [FK] int(11)
view_time datetime
VIDEORATINGS TABLE
------------------
video_id [PK,FK] int(11)
ip_address [PK] varchar(15)
rating int(1)
rate_time datetime
Hah, dzięki tak myślałem^-^ –