Autor Zpráva
Klobás
Profil *
Ahoj, rád bych se zeptal na následující:

V detailu každého filmu na ČSFD jsou vpravo 2 výpisy, podobné a související.

Podobné je asi jasné, bude to založeno na filmu, který má podobnou kategorii nebo tagy nebo tak něco (asi).

Nicméně si celkem lámu hlavu nad výpisem souvisejících filmů.

Videl jsem jsem filmy, které měly několik dílů a byly od sebe třeba 10-15 let a byly všechny propojené. Pochybuji, že by když vyjde 2 díl, ho někdo na ČSFD propojil s prvním dílem, když vyjde 3 díl, tak ho propojí s druhým i prvním.

Napadá někoho jak by se to dalo snadno řešit nebo jak to mají vyřešené?
Kajman
Profil
Tipl bych, že mají skupiny souvisejících. Nový film přidají jednou k již hotové skupině, nebo skupinu vytvoří, pokud související film ještě není skupinován. Jestli může být film ve více skupinách si nejsem jistý. To si můžete zkusit najít, jestli nějaké dva filmy z toho seznamu mají různé seznamy.
Klobás
Profil *
Mě napadla takováto struktura



Filmy
id | name | desc …
1 | Harry Potter – 1 díl | …
2 | Harry Potter – 2 díl | …
50 | Fantastická zvířata kde je najít | …

Unikatní identifikátory
id | unikatni_identifikator (lidský popis)
1 | Harry Potter – (všechno kolem HP)
2 | Rambo
3 | Rocky
4 | Fast & Furious

Filmy_Identifikatory
identifikator_id | film_id
1 | 1
1 | 2
1 | 50

To by mohlo být ono ne? Jinak ve více skupinách se mi moc nezdá, jak by pak u toho filmu určili, jakou skupinu vypíší?
Kajman
Profil
Jo, to je to, co jsem psal já. Pokud bude v tabulce Filmy_Identifikatory primární klíč jen nad film_id půjde jen jedna skupina. Pokud bude nad kombinací obou sloupců, může být film ve více skupinách a ve výpisu souvisejícíh pak jednoduše vypíšete filmy ze všech skupin, do kterých prohlížený film patří.
Klobás
Profil *
Ano, tak nějak to asi bude. Víceroskupin mi moc smysl nedává, možná kvůli nečemu dalšímu internímu, ale v detailu půjde asi jen o jednu skupinu, tak moc díky.
Kajman
Profil
Když bude skupina vetřelci, skupina predátoři a film Veřelec vs predátor, tak můžete tomu filmu dát obě skupiny. Z tohoto filmu uvidí návštěvník filmy s vetřelci i predátory. Pokud budou na filmu Predátor, tak uvidí i Vetřelec vs predátor ale neuvidí film Vetřelec. ČSFD to tako nemá, má asi jen skupinu potvora vs potvora, ale mně dává smysl i multiskupinové řešení.
Klobás
Profil *
Máte pravdu, zajímavá myšlenka. Ještě jednou díky, takhle to dává ještě větší smysl.
Zeptám se tedy ještě na jednu věc, mohu-li.

Pak tu máme podobné

Film
============
id | name
1 | Pribeh hracek
2 | Pribeh hracek 2
3 | Hleda se Nemo

Keywords
============
id | name
1 | Pixar
2 | Kreslene
3 | More

Keyword_Film
============
film_id | keyword_id
1 | 1
1 | 2
2 | 1
2 | 2
4 | 1 
4 | 3

Tohle je asi myslím, jasné. A ted dejme tomu, že jsem v detailu Pribeh Hracek. A já bych chtěl více dynamicky ovlivnit co vypíšu (tj ne jen čistý průnik všeho, nebo aspoň něčeho, ale jasně nastavit konkrétní pravidlo).

Takže jednou budu chtít co je od pixaru, jindy budu chtít co je od pixaru, ale zároveň to není mořský motiv.

Takže mne napadla ještě tato tabulka

Film_Detail_Rule
================
film_id | keyword_id | rule

a v prvním případě by to bylo# udělá dotaz na všechny vazby co jsou od pixaru
1 | 1 | yes 

a v druhém případě  # udělá dotaz na všechny vazby co jsou od pixaru a zaroven nejsou morskym motivem
1 | 1 | yes
1 | 3 | no


Budu dělat takovy portal kde bude hodne clanku a potrebuji nejak inteligentne resit vypisy podobných / souvisejících / ci neprimo souvisejich clanku podle určitých pravidel a bude to u každého clanku silne individualni, a napadlo me tedy toto.

Co si o tom myslite?
Kajman
Profil
To yes/no jsem moc nepobral (hádám, že podle Film_Detail_Rule sestavíte dotaz nad Keyword_Film), ale přidám ještě jednu myšlenku.

V tabulce tagů by mohla být váha - třeba i kombinace ručního nastavení, zda ten tag je důležitý + automaticky přepočítávané váhy dle četnosti - čím je tag méně využitý, tím větší váha.

Takže klasické hledání dle největšího počtu společných tagů můžete tímto upravovat - udělat ještě součet vah společných tagů. Pak by měly přednost v podobných filmy, co mají stejné tagy, které jsou vzácné. Jen ty součty budou asi záhul pro databázi.
Klobás
Profil *
To s tou váhou je zajímavé, a někdy se mi to může hodit.

To s tím yes | no jsem myslel jako že to tam bude zahrnuto či ne (exclude).

Takže když např zahrnu do spojující tabulky

Pixar | yes
2017 | yes
moře | no

Tak mi to vlastně vyplivne dotaz který bude hledat kde tagy jsou pixar a 2017 a NOT 2017 (přeloženo do lidštiny), najdi podobne filmy která mají tagy ( vyrobil je pixar, jsou z roku 2017 a nejsou o moři).

Tak jsem to myslel :-)
Tomáš123
Profil
Klobás:
Namiesto yes a no môžeš využiť dátový typ boolean.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: